Foros del Web » Programando para Internet » PHP »

Cookie no expira en el servidor

Estas en el tema de Cookie no expira en el servidor en el foro de PHP en Foros del Web. Tengo la siguiente cookie Cita: <? setcookie("visita",1,time()+10); ?> en el body <? if(!isset($visita)) { /* si no existe la variable $visita es que es la ...
  #1 (permalink)  
Antiguo 09/05/2010, 09:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 16 años
Puntos: 2
Cookie no expira en el servidor

Tengo la siguiente cookie
Cita:
<? setcookie("visita",1,time()+10);
?>
en el body
<? if(!isset($visita)) {

/* si no existe la variable $visita es que es la primera vez que accede el usuario */
echo("Buenos días");}?>
El tiempo lo he puesto para probar de manera rápida si expira en localhost va perfecto pero lo subo al servidor y la variable no expira, he mirado en el navegador y veo que recoge la cookie visita perfectamente con su expiración y todo pero el servidor no se entera siempre ejecuta el cookie es como si no tuviera límite de tiempo.

Saludos al foro
  #2 (permalink)  
Antiguo 09/05/2010, 09:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Cookie no expira en el servidor

Si todo el tiempo estás recorriendo ese código y todo está en un archvo, nunca va a caducar porque vuelves a ingresarla.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/05/2010, 09:27
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 16 años
Puntos: 2
Respuesta: Cookie no expira en el servidor

Cita:
Iniciado por abimaelrc Ver Mensaje
Si todo el tiempo estás recorriendo ese código y todo está en un archvo, nunca va a caducar porque vuelves a ingresarla.
¿No entiendo?
En localhost funciona la cookie expira en el tiempo indicado y sólo se crea de nuevo cuando pasa el tiempo
  #4 (permalink)  
Antiguo 09/05/2010, 09:33
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: Cookie no expira en el servidor

Primero, abimaelrc tiene razón... cada vez que ejecutas ese código, reescribirá la cookie existente dándole un nuevo tiempo de expiración. Segundo, lo más seguro, y lo más obvio que veo, es que en localhost, en tu pc, tienes register_globals en On, pero tu servidor no... así que en vez de llamar a la cookie con $visita, llámala con $_COOKIE['visita'].

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 09/05/2010, 09:37
Avatar de DeveloperFresh  
Fecha de Ingreso: mayo-2009
Ubicación: Ancon City
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Cookie no expira en el servidor

pZ para acceder a una Cookies creada ! es $_COOKIE['valor'] pero en este caso quedaría así para saber si se ah sido creado o no una cookies

Código PHP:
Ver original
  1. <? if(!isset($_COOKIE['visita'])) {
  2.     echo("Buenos días");
  3. } ?>
  #6 (permalink)  
Antiguo 09/05/2010, 09:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Cookie no expira en el servidor

A ver, crea dos archivos. Uno llamado setCookie.php y otro llamado index.php.
setCookie.php
Código PHP:
Ver original
  1. <?php
  2. setcookie('visita',1,time()+10);
  3. setcookie("time",time()+10,time()+10);
  4. header('Location: index.php');
index.php
Código PHP:
Ver original
  1. <?php
  2. if(!isset($_COOKIE['visita'])){
  3.     header('Location: setCookie.php');
  4. }
  5. echo 'Tiempo: ' . time() . '<br />';
  6. var_dump($_COOKIE);
Con eso vas a ver cómo se está comportando los cookies.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 09/05/2010, 10:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 16 años
Puntos: 2
Respuesta: Cookie no expira en el servidor

Lo he puesto así para que no se reescriba la cookie y funciona perfectamente en el servidor

GRACIAS!!!!!
Cita:
<?
if (!isset($_COOKIE['visita'])){setcookie("visita",1,time()+10);}
?>

<? if(!isset($_COOKIE['visita'])) {


echo("Buenos Días");}?>

Última edición por jordi45; 09/05/2010 a las 10:24

Etiquetas: cookie, servidores
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 21:36.