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>
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');
}
}
?>
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>
Código PHP:
<?php
echo "Hola desde navega 1";
?>
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.