Lo primero decir que he hecho una búsqueda, pero no he encontrado una solución a mi problema.
El caso es que es la primera vez que trabajo con esto de las sesiones y estoy un poco perdido.
quiero hacer algo de autentificación sencillito, y cogiendo como base el "autentificator" de Cluster me he dispuesto a empezar desde el principio.
Tengo éste script:
Código PHP:
<?php
//comprobamos que se haya accedido a la página a través de un formulario.
if (isset($_POST['usuario']) && isset($_POST['pass'])) {
//consulta en la Base de datos.
mysql_connect ('***', '***');
mysql_select_db ('***);
$query = mysql_query("SELECT nombre,pass FROM usuarios WHERE nombre='".$_POST['usuario']."'");
//si no se ha devuelto ninguna fila, es que ese usuario no existe.
if (mysql_num_rows($query) == 0) {
echo('No existe ese usuario');
exit;
}
//si el usuario existe metemos sus datos en variables.
$datos_usuario = mysql_fetch_array($query);
//Y comprobamos si el password es correcto.
if ($datos_usuario['pass'] == $_POST['pass']) {
echo ('usuario aceptado');
session_name('keysherweb');
session_start();
$_SESSION['usuario']=$datos_usuario['usuario'];
exit;
} else {
//en caso de que el pass sea incorrecto...
echo ('Contraseña incorrecta');
exit;
}
} else {
// si entra por éste else significa que no se ha llegado a esta página a través del formulario.
session_name('kw');
session_start();
if (!isset($_SESSION['usuario'])) {
session_destroy();
echo ('acceso incorrecto, enviar al login.');
exit;
} else {
echo('Sesión activa, puede pasar a la página que necesita login);
}
}
?>
Bueno, es algo muy sencillo, para probar, ni siquiera encripto el pass, y va más o menos bien.
El problema está cuando se ha autentificado, cuando quiere acceder a la página da siempre "acceso incorrecto", es decir como si no existiese la sesión.
Ya digo que no entiendo mucho de sesiones todavía, pero ¿dónde puede estar el fallo?
Bueno, a ver si me podeís echar un cablecillo para que siga haciendo cosillas, saludos!