Código PHP:
<?php
if(isset($_SESSION['usuario']) ){ //Comprobamos si existe la sesión
Header("Location: index.php");
}
else{
//Formulario de logueo
echo '<form action="identify.php" method="POST">
Nombre de usuario: <input type="text" name="nickname" size="30"><br>
Contraseña: <input type="password" name="userpass" size="30" ><br>
<input type="submit" name="submit" value="Conectarse"></form>';
}
?>
Código PHP:
<?php include("config.php");
include("templateclass.php");
include("templates/header.tpl");
//Variables del formulario [+]
$nick = $_POST['nickname'] ;
$pass = $_POST['userpass'] ;
$pass = md5($pass);
//Variables del formulario [-]
//Variables de validacion [+]
$incorrecto = "La contraseña o el nombre de usuario son incorrectos. Rellene bien el formulario.";
//Variables de validacion [-]
if( ($nick == '') or ($pass == '') ){ //Se comprueba que ha completado todo
Header("Location: login.php"); //Contraseña o nombre vacío
}
else{
$usuarios=mysql_query("SELECT * FROM usuarios WHERE nickname='$nick' and password='$pass' ");
if($login = mysql_fetch_array($usuarios)){ //Si existe se comienza sesión, de lo contrario, mensaje de error
session_register("nickname");
session_register("user_id");
session_register("permisos");
$_SESSION['username'] = $login["nickname"];
$_SESSION['userid'] = $login["user_id"];
$_SESSION['permisos'] = $login["permisos"];
Header("Location: index.php");
}
else{
echo $incorrecto;
}
}
?>
aunque los datos son correctos.
He probado a quitar y poner el md5 de la password, pero no cambia nada.
La contraseña cuando se registra el usuario se manda a la BD encriptada con la función md5(); por eso supuse que debería encriptar la que envía el usuario para que coincidiesen.
¿Alguna idea de porque me pasa esto?