Buenas noches.
Estoy realizando un ejercicio de PHP en el que debo de controlar las sesiones sin bases de datos, mediante cookies. Os pongo mis archivos:
Login.php
Código PHP:
<body>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<!--<form action="" method="post">-->
<h3>Entrar al sistema</h3>
<fieldset>
Usuario:<br/>
<input type="text" name="correo" value="" /><br/>
Password:<br/>
<input type="password" name="pass" value="" /><br/>
<input type="submit" name="enviar" value="Enviar"/>
</fieldset>
</form>
<?php
require_once('validaDatos.php');
?>
</body>
validaDatos.php
Código PHP:
<?php
if(isset($_POST['enviar'])){
$email = $_POST['correo'];
$passw = $_POST['pass'];
//Compruebo usuario y pass
if (($email == '[email protected]') && ($passw == '123456')){
setcookie("cookie1","EstaEsMiCookie",time()+60);
header('Location:regisOK.php');
//echo $_COOKIE('name');
}
}
?>
regisOK.php
Código PHP:
<body>
<?php
if (empty($_COOKIE)){
echo "No has iniciado sesion";
require('login.php');
} else {
echo "Hola, OK <br/>";
echo $_COOKIE['cookie1'];
echo '<a href="navega1.php">IR alli</a>';
}
?>
</body>
navega1.php
Código PHP:
<?php
echo "Hola desde navega 1";
?>
Como podeis ver, controlo en validaDatos que si el usuario y contraseña son los indicados, se establezca la cookie, la cual tiene una vida de 60 segundos.
Mis dudas son:
1. ¿Como puedo pasar la cookie entre las páginas mientras dure la vida de la misma?
2. Cuando la cookie muera o el usuario sin haberse logueado intente entrar en alguna página como navega1.php o regisOK.php, ¿es correcto como le muestro el mensaje de error en este fichero, haciendo un require del login.php? ¿O es aconsejable otra forma?
Seguramente haya formas mucho más correctas, pero el ejercicio de momento me lo piden así.
Muchas gracias.