Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2010, 11:00
cslbcn
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
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