Tengo un pequeño script que me he currado para hacer acceder a una página restringida mediante password. Para ello utilizo cookies.
Envio los datos del formulario a la página que quiero acceder, ahí comprueba si coinciden el usuario y contraseña con los de la base de datos, y en caso afirmativo crea una cookie:
Código PHP:
if (auth($un,$pw)) {
setcookie("loggedin", $un, time()+3600, "/");
}
Bien, el problema reside en la página a la que accedo. En ella incluyo el script de login mediante un require, y acto seguido llamo a la función require_login(); que se encarga de comprobar si existe la cookie "loggedin":
Código PHP:
function require_login() {
if (loggedin()) {
return;
}
else {
echo "<meta http-equiv=\"refresh\" content=\"1; ".URL_ROOT."index.php\">";
die;
}
}
Código PHP:
if (isset($_COOKIE[loggedin])) {
return true;
}
else {
return false;
}
Si después accedo a la página restringida poniendo la dirección, no me da ningún problema, no redirige y accede como debiera de hacer desde la primera vez.
Sospecho que será alguna cuestión de orden, que la página tendrá que cargarse de nuevo para leer la cookie o algo así, pero no caigo en una posible solución.
Muchas gracias de antemano.
Saludos.