Cita:
Iniciado por Triby
Cómo estás haciendo el login?
Lo primero que veo mal es que tienes en una misma línea mysql_fetch_assoc() y mysql_query(), debiendo ser más o menos así:
Código PHP:
Ver original // Ok, el usuario existe
// Aquí creas variables de sesión necesarias y cookie
} else {
die('Nombre de usuario y/o contraseña inválidos'); }
Buenas Triby!
Justamente el código que encontre era tuyo...gran aporte, lástima que no sepa adaptarlo de momento.
Código PHP:
function login($userMail,$userPass) {
session_regenerate_id(true);
$result = mysql_query("SELECT u_id, u_nombre,u_pass,u_email,u_nivel,u_creditos FROM user WHERE u_email='$userMail' and u_pass = '$userPass'");
if(mysql_num_rows() == 1) {
$sqlLogin = mysql_fetch_assoc($result);
//Creamos Sesiones
$_SESSION = array(
'usuario' => array(
'id' => $sqlLogin['u_id'],
'nombre' => $sqlLogin['u_nombre'],
'correo' => $sqlLogin['u_email'],
'rol' => $rol,
'comprobacion' => strMd5("{$_SESSION['usuario']['id']}|{$_SESSION['usuario']['nombre']}|{$_SESSION['usuario']['correo']}|{$_SERVER['REMOTE_ADDR']}")
)
);
// Creamos cookie 'usuario' con id y cadena de comprobación
setcookie('usuario', "{$_SESSION['usuario']['id']}|{$_SESSION['usuario']['comprobacion']}", time() + (86400 * 30), '/');
}else{
echo 'No existe el usuario';
}
}
He modificado el Login tal como me comentaste, y el resto esta igual. Me crea la sesion y la cookie y me la encripta, pero cuando el header me redirecciona pierdo la sesion. No acabo de entender la primera parte de la funcion esUsuario(); por eso me debe petar....
Edito: Incluyo en ese fichero un acceso a la BD donde también inicio la sesiín, y que esta incluido en todos los archivos
Un saludo y gracias por compartir!