Foros del Web » Programando para Internet » PHP »

Recordar Usuario sin BD

Estas en el tema de Recordar Usuario sin BD en el foro de PHP en Foros del Web. Buenos dia foro :)! Les comento mi problema... Nos mandaron a hacer una ejercitacion, en donde: Yo ya tengo la web donde el usuario hace ...
  #1 (permalink)  
Antiguo 21/04/2016, 06:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 0
Recordar Usuario sin BD

Buenos dia foro :)! Les comento mi problema... Nos mandaron a hacer una ejercitacion, en donde:



Yo ya tengo la web donde el usuario hace login, lo envia a una pagina principal y otra de logout... lo que me estaria faltando es el punto sobre "Asimismo el sistema deberá mantener para futuras visitas el nombre de usuario que se ingrese en el login por un periodo de 20 días."

Consulte con los profesores y me dijieron que lo que me piden es que use cookies para recordar el nombre de usuario y ofrecerlo en el campo usuario del formulario.


Pense utilizar setcookie, pero la verdad estoy medio perdido!


Les dejo las hojas que use! (Todavia no vimos BD)

login.php
Código PHP:
<?php
session_start
();

$usuario"";
    

if(isset(
$_POST['enviar']))
    {
        require(
"validar.php");
        
$usuario $_POST['user'];
    }
        

?>
<html>
<head></head>
<body background="fondo.jpg">
<center>
<form action="login.php" method='post'>
<img src="login2.png" width="250" ><br />
<input type="text" name="user" placeholder="Usuario" value="<?php echo $usuario?>"><br />
<input type="password" name="pass" placeholder="Password"><br /><br />
<input type="submit" name="enviar">
<br /><img src="login2.png" width="250"><br />
</form>
</center>
</body>
</html>

validar.php

Código PHP:
<?php
        $usuario 
$_POST['user'];
        
$pass $_POST['pass'];
        
       if((
$usuario == 'sith' && $pass == 'vader') || ($usuario == 'jedi' && $pass == 'obiwan'))
       {
        
session_start();
        
$_SESSION['log']=true;
        
$_SESSION['usuario']=$usuario;
            
        
header('location:principal.php');


       }
        else
            echo 
"<center><font color='#EA5930'><b>Usuario o Password Erronea</font></center>";
        
       
 
?>

logout.php
Código PHP:
<?php
require("seguro.php");
session_destroy();

?>
<html>
<head></head>
<body background="fondo.jpg">
<center>
<font color="white"><b>Que la fuerza te acompañe</b></font><br>
<img src='yoda.jpg' width='400' heigth='400'><br>
<input type="button"  onclick=location="login.php" value="Haz clic aqui para ir al sitio de logeo."> 
</center>
</body>
</html>

principal.php

Código PHP:
<?php
require_once("seguro.php");
$usuario $_SESSION['usuario'];
if(
$usuario == "jedi")
    echo 
"<center><img src='obiwan.jpg' width='400' heigth='400'></center>";
        else if(
$usuario == "sith")
            echo 
"<center><img src='vader.jpg' width='400' heigth='400'></center>";
?>
<html>
<head></head>
<body background="fondo.jpg">
<center>
<input type="button"  onclick=location="logout.php" value="DESLOGUEAR"> 
</center>
</body>
</html>

seguro.php

Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['log']))
    {
        
session_destroy();
        
header("location:error.php");  
    }

if(!
$_SESSION['log'])
    {
        
session_destroy();
        
header("location:error.php");  
    }
?>

error.php

Código PHP:
<html>
<
head>
<
title>ERROR</title>
</
head>
<
body bgcolor="#3C434B">
<
center>
<
p><b><font color="white"Ha ocurrido un errorno detectamos ningun usuario logeado. <></font></a></b><p>
<
input type="button"  onclick=location="login.php" value="Haz clic aqui para ir al sitio de logeo."
<
center><img src="error.jpg"></center>
</
center>
</
body>
</
html
  #2 (permalink)  
Antiguo 21/04/2016, 07:15
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Recordar Usuario sin BD

Y ya investigas te al respecto, o por lo menos leíste la documentación?

Cookies
setcookie - Enviar una cookie
Variables pasadas al script actual a través de Cookies HTTP, $_COOKIE
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 21/04/2016, 08:22
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Recordar Usuario sin BD

Hola! sisi, lei la documentacion desde php.net ... pero no logro entender bien!, de echo habia armado un setcookie luego de la validacion de usuario, pero me trabo a la hora de que recuerde el usaurio en el login, no se como hacerlo )N
  #4 (permalink)  
Antiguo 21/04/2016, 10:16
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Recordar Usuario sin BD

Te explico rápida y superficialmente el mecanismos.
Cuando tu generas una cookie mediante setcookie y esta es aceptada por el navegado, se establece por el tiempo determinado.
Desde que es creada la cookie asta que expira o es eliminada, cada vez que se realice una petición al servidor el navegador envía la/las Cookies junto con la petición y en php pueden ser recuperadas mediante $_COOKIE.

Básicamente debes hacer:
Cuando el usuario se válido crear las Cookies necesarias mediante setcookie en lugar de session_start y $_SESSION, estableciendo el tiempo requerido.

En cada parte del script que quieras comprobar si el usuario se ha logeado verificar las variables almacenadas en Cookies mediante $_COOKIE
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 21/04/2016, 11:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Recordar Usuario sin BD

Cita:
Iniciado por xerifandtomas Ver Mensaje
Te explico rápida y superficialmente el mecanismos.
Cuando tu generas una cookie mediante setcookie y esta es aceptada por el navegado, se establece por el tiempo determinado.
Desde que es creada la cookie asta que expira o es eliminada, cada vez que se realice una petición al servidor el navegador envía la/las Cookies junto con la petición y en php pueden ser recuperadas mediante $_COOKIE.

Básicamente debes hacer:
Cuando el usuario se válido crear las Cookies necesarias mediante setcookie en lugar de session_start y $_SESSION, estableciendo el tiempo requerido.

En cada parte del script que quieras comprobar si el usuario se ha logeado verificar las variables almacenadas en Cookies mediante $_COOKIE
Genial, voy a probar eso! Gracias!

Etiquetas: bd, formulario, html, recordar, usuario
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 09:40.