Foros del Web » Programando para Internet » PHP »

Manejo de sesiones sin BBDD

Estas en el tema de Manejo de sesiones sin BBDD en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/11/2018, 19:10
 
Fecha de Ingreso: agosto-2007
Mensajes: 71
Antigüedad: 16 años, 8 meses
Puntos: 1
Manejo de sesiones sin BBDD

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.

Etiquetas: cookies
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:59.