Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/10/2010, 19:36
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: error con Cookies

RicardoUY:

no entiendo bien el conjunto de tu aplicación, pero hice esto que quizá te pueda servir, te aclaro que asigne valores artificiales a $email y $clave, y utilicé $_GET para realizar las comprobaciones, dejé solo el primer condicional para simplificar el ejemplo, lo chequee y funciona perfectamente,
si paso ?datosUsuario=soloUsuario te genera las cookies, en este caso con un tiempo de expiración de 1 hora, en tanto que si le paso ?terminar=1, las borra corectamente y redirije. Recordá que para borrar una cookie tenes que reescribirla con los mismos valores con un tiempo anterior al tiempo actual.

La mejor forma de verificar el funcionamiento de las cookies y sesiones es a mi juicio utilizar firefox con la extensión WebDeveloper.
Espero que estos datos te sirvan


Código PHP:
Ver original
  1. <?php
  2. $recordar= trim($_GET[datosUsuario]);
  3. $email = "[email protected]";
  4. $clave ="miclave";
  5.  
  6. if ($recordar == "soloUsuario"){
  7. setcookie("Usuario",$email,time()+3600,"/", "foros.emprear.loc", 0);
  8. setcookie("password",$clave,time()+3600,"/", "foros.emprear.loc", 0);
  9. }
  10.  
  11. //if ($recordar=="noCerrarSesion"){
  12. //setcookie("Usuario",$_SESSION["email"],time()+60*60*24*30,"/", "misitio.com.uy", 0);
  13. //setcookie("password",$_SESSION["password"],time()+60*60*24*30,"/", "misitio", 0);
  14. //}
  15.  
  16. ### borrar cookies y redirigir
  17. $terminar = $_GET["terminar"];
  18. if ($terminar == 1){
  19. setcookie("Usuario",$email,mktime(12,0,0,1, 1, 1990),"/", "foros.emprear.loc", 0);
  20. setcookie("password",$clave,mktime(12,0,0,1, 1, 1990),"/", "foros.emprear.loc", 0);
  21. header("location:index.php"); }
  22. ?>

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.