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<?php
include("../conexion.php");
//variables recogidas del formulario HTML
$usuario = $_POST["tUsr"];
$password = $_POST["tPas"];
$sql = "Select * from usuarios where email='".$usuario."' and password='".$password."'";
if ($rows> 0) {
echo "existe";
if (isset($_POST['ckSesion'])){ //ckSesion es el checkBox donde el usuario quiere que no se cierre la sesiuon (crear una cookie) //echo "kiero cookie";
//establezco un numero aleatorio para aumentar la seguridad
$numero_aleatorio = mt_rand(1000000,999999999);
//el numero aleatorio lo inserto en el registro del usuario
$sql = "UPDATE usuarios set cookie=".$numero_aleatorio." where email='".$usuario."'";
//creo una cookie en el cliente con el ID de usuario y el aleatorio
setcookie("friendface", $numero_aleatorio , time()+(60*60*24*365));
echo "cookie creada";
}else{
echo "no kiero cookie";
}
}
else{
echo "no existe";
}
?>
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<?php
//Incluir páginas
include("conexion.php");
echo "mirar cookie";
if (isset($_COOKIE["friendface"])){ echo "hay cookies memorizadas\n";
//Tengo cookies memorizadas
//además voy a comprobar que esas variables no estén vacías
if ($_COOKIE["friendface"]!=""){
echo "las cookies no estan vacias\n";
//Voy a ver si corresponden con algún usuario
$sql = "Select * from usuarios where cookie=".$_COOKIE["friendface"];
if ($rows> 0) {
echo "<b>Tengo un usuario correcto en una cookie</b>";
}
}
}
?>
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