Hola, estos ultimos dias me ha dado por aprender poo. Casi todos, por no decir todos, no sabeis ni lo que es POO, pues es sencillo, Programacion orientada a Objetos. En resumidas palabras, PHP de una forma un poco especial. Este "lenguaje" se usa para crear proyectos en grupo, porque de la otra forma seria muchisimo mas dificil saber lo que ha escrito el comprañero. Bueno, comento que solo es un sistema de usuarios, asi que si no sabeis programar en php, aprenderoslo, es lo mejor que podeis hacer. Las contraseñas estan encriptadas en MD5 y tiene una pequeña function para evitar las sql ibjection. Tambien decir que esto solo lo soporta PHP5, que es donde se ha implementado esta funcion.
login.php
user = $username;
$this->post_password = $password;
$this->query = mysql_query("SELECT * FROM users WHERE username = '".$this->user."'");
$this->mysql_password = mysql_fetch_array($this->query);
$this->numrows = mysql_num_rows($this->query);
$this->error = "Nombre de usuario o contraseña incorrectos.";
$this->ok = "Bienvenido ".$this->user.". Te has logueado correctamente.";
$this->fields = "Por favor, rellena todos los campos.";
}
public function check()
{
if($this->user && $this->post_password)
{
if($this->numrows !=0)
{
if($this->mysql_password['password'] == md5($this->post_password))
{
session_start();
$_SESSION['username'] = $this->user;
echo $this->ok;
}
else
{
echo $this->error;
}
}
else
{
echo $this->error;
}
}
else
{
echo $this->fields;
}
}
}
include_once "clear.php";
$login = new login(clear($_POST['username']), clear($_POST['password']));
echo $login->check();
?>
login.html
Username:
Password:
register.php
user = $username;
$this->password = $password;
$this->repassword = $repeatpassword;
$this->email = $email;
$this->fullname = $fullname;
$this->query = mysql_query("SELECT * FROM users WHERE username = '".$this->user."'");
$this->numrows = mysql_num_rows($this->query);
$this->error = "Nombre de usuario en uso.";
$this->error2 = "Las contraseñas no coinciden";
$this->error3 = "Nombre completo y/o nombre de usuarios superan los 25 caracteres.";
$this->error4 = "La contraseña debe tener un minimo de 6 caracteres y un maximo de 25";
$this->ok = "Te has registrado correctamente";
$this->fields = "Por favor, rellena todos los campos.";
}
public function check()
{
if($this->numrows!=0)
{
die ($this->error);
}
if($this->user&&$this->password&&$this->email&&$this->fullname)
{
if($this->password == $this->repassword)
{
if(strlen($this->username)>25||strlen($this->fullname)>25)
{
echo $this->error3;
}
else
{
if(strlen($this->password)>25||strlen($this->password)
register.html
Fullaname:
Username:
Password:
Repeat Password:
E-Mail:
clear.php
config.php
MySQL
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fullname` varchar(100) NOT NULL DEFAULT '',
`username` varchar(25) NOT NULL DEFAULT '',
`password` varchar(100) NOT NULL DEFAULT '',
`email` varchar(100) NOT NULL DEFAULT '',
`admin` char(1) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
Salu2