Foros del Web » Programando para Internet » PHP »

problema con cookies

Estas en el tema de problema con cookies en el foro de PHP en Foros del Web. Hola. Es la primera vez que hago una validación con cookies y no me sale :( Parece que no se crea la cookie... validar_usuario.php @import ...
  #1 (permalink)  
Antiguo 12/05/2010, 12:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 11 años, 10 meses
Puntos: 5
Exclamación problema con cookies

Hola. Es la primera vez que hago una validación con cookies y no me sale :(
Parece que no se crea la cookie...

validar_usuario.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. include("../conexion.php");
  5.  
  6.  
  7. //variables recogidas del formulario HTML
  8. $usuario = $_POST["tUsr"];
  9. $password = $_POST["tPas"];
  10.  
  11. $sql = "Select * from usuarios where email='".$usuario."' and password='".$password."'";
  12. $dat = mysql_query($sql, $conexion) or die(mysql_error());
  13. $rows = mysql_num_rows($dat);
  14.  
  15. if ($rows> 0) {
  16.     echo "existe"; 
  17.         $usuario_encontrado = mysql_fetch_object($dat);
  18.    
  19.         if (isset($_POST['ckSesion'])){ //ckSesion es el checkBox donde el usuario quiere que no se cierre la sesiuon (crear una cookie)
  20.             //echo "kiero cookie";
  21.             //establezco un numero aleatorio para aumentar la seguridad
  22.             mt_srand (time());
  23.             $numero_aleatorio = mt_rand(1000000,999999999);
  24.            
  25.             //el numero aleatorio lo inserto en el registro del usuario
  26.  
  27.             $sql = "UPDATE usuarios set cookie=".$numero_aleatorio." where email='".$usuario."'";
  28.             $dat = mysql_query($sql, $conexion) or die(mysql_error());
  29.            
  30.             //creo una cookie en el cliente con el ID de usuario y el aleatorio
  31.             setcookie("friendface", $numero_aleatorio , time()+(60*60*24*365));
  32.  
  33.            
  34.             echo "cookie creada";
  35.         }else{
  36.             echo "no kiero cookie";        
  37.         }
  38.    
  39. }
  40.  
  41.    
  42.  
  43. else{
  44.        echo "no existe";
  45.    }
  46. ?>


En la página index.php, hago primero una lectura de la cookies y miro si tengo la cookie que kiero:
Código PHP:
Ver original
  1. <?php
  2.  
  3. //Incluir páginas
  4. include("conexion.php");
  5. echo "mirar cookie";
  6. if (isset($_COOKIE["friendface"])){
  7.     echo "hay cookies memorizadas\n";
  8.    //Tengo cookies memorizadas
  9.    //además voy a comprobar que esas variables no estén vacías
  10.    if ($_COOKIE["friendface"]!=""){
  11.         echo "las cookies no estan vacias\n";
  12.       //Voy a ver si corresponden con algún usuario
  13.         $sql = "Select * from usuarios where cookie=".$_COOKIE["friendface"];
  14.         $dat = mysql_query($sql, $conexion) or die(mysql_error());
  15.         $rows = mysql_num_rows($dat);
  16.  
  17.         if ($rows> 0) {
  18.             echo "<b>Tengo un usuario correcto en una cookie</b>"; 
  19.         }    
  20.     }
  21. }
  22.  
  23.  
  24. ?>


Cuando me logueo y marco la casilla de recordarme y luego vuelvo a entrar no me reconoce ninguna cookie. Luego, en el navegador no me sale ninguna cookie almacenada.

Qué es lo que hago mal? Comienzo a desesperarme.

Gracias de antemano
  #2 (permalink)  
Antiguo 12/05/2010, 12:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 39
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: problema con cookies

mmmm...no te conviene trabajar con cookies....
  #3 (permalink)  
Antiguo 12/05/2010, 13:36
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 11 años, 10 meses
Puntos: 5
Respuesta: problema con cookies

entonces en las páginas en las que pone la casilla "recordarme" o cosas similares, como en este mismo foro, qué utilizan?
  #4 (permalink)  
Antiguo 12/05/2010, 16:18
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 16 años, 1 mes
Puntos: 89
Respuesta: problema con cookies

Puedes utilizar cookies, pero para datos no sensibles. Si quieres guardar el nombre, contraseña, o algo que pudiera ser mal utilizado, mejor usar sesiones.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 13/05/2010, 03:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 11 años, 10 meses
Puntos: 5
Exclamación Respuesta: problema con cookies

Pero usando sesiones, una vez que se cierra el navegador la sesión desaparece.
Quiero que los datos de login se mantengan aún después de cerrar el navegador, o reiniciar el PC.

En toda página web se usan cookies (gmail, hotmail, facebook, forosdelweb, paypal, ebay (durante 24h)....) Así que no debe ser tan critico guardar cookies con datos provados como usuario y contraseña. Lo que se guarda en la cookie es el ID del usuario y/o un numero generado automaticamente, para dar más seguridad.

Entonces, que hay mal en mi código?

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 05:15.