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, tengo un problema con unas cookies, debido a que las creo y me toca refrescar la pagina mas de una vez para que las ...
  #1 (permalink)  
Antiguo 04/12/2007, 08:59
 
Fecha de Ingreso: enero-2004
Ubicación: Medellin
Mensajes: 178
Antigüedad: 20 años, 3 meses
Puntos: 8
Problema con cookies

Hola, tengo un problema con unas cookies, debido a que las creo y me toca refrescar la pagina mas de una vez para que las tome, que debo hacer para que esto no suceda y las tome inmediatamente?

asi las estoy creando

Código PHP:
if($remember == 'true')
{
    
$expire time()+60*60*24*365;     //infinita    
}else
{                 
    
$expire time() + 24 3600// expira en 1 dia
}

 
setcookie("username"$arrResultado['data']['username'], $expire,"/"); 
muchas gracias
  #2 (permalink)  
Antiguo 04/12/2007, 09:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Problema con cookies

Las cookies están disponibles a partir de la siguiente ejecución en que se crean, son para pasar datos de un script a otro, si son en el mismo script para que quieres pasar los datos por cookies??
  #3 (permalink)  
Antiguo 04/12/2007, 17:39
 
Fecha de Ingreso: enero-2004
Ubicación: Medellin
Mensajes: 178
Antigüedad: 20 años, 3 meses
Puntos: 8
Re: Problema con cookies

es que necesito de ellas para mantener una sesion siempre activa o por un tiempo prolongado.
  #4 (permalink)  
Antiguo 04/12/2007, 18:38
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Problema con cookies

No acabo de entender la utilidad pero puedes hacer algo así:

Código PHP:
class myCookie
{
  protected static 
$inicializada;  
  
  protected static 
$cookies;
  
  protected static function 
inicializar()
  {
      if (
$inicializada === null)
      {
          if (
self::$cookies === null)
          {
              
self::$cookies = array();
          }
          
          foreach (
$_COOKIE as $clave => $valor)
          {
              if (!isset(
self::$cookies[$clave]))
              {
                  
self::$cookies[$clave] = $valor;
              }
          }
      }
  }
  
  public static function 
crear($name$value$expire null$path null$domain null)
  {
      if (!
setcookie($name$value$expire$path$domain))
      {
          return 
false;
      }
      
      
self::$cookies[$name] = $value;
      
      return 
true;
  }
  
  public static function 
obtener($name)
  {
    
self::inicializar();
    
      if (isset(
self::$cookies[$name]))
      {
          return 
self::$cookies[$name];
      }
      
      return 
null;
  }
}

// Crear
if (myCookie::crear('cookie''valor'))
{
  
// Obtener
    
echo 'Cookie: '.myCookie::obtener('cookie');

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:08.