Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/03/2011, 13:06
Avatar de DeeR
DeeR
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 11 meses
Puntos: 17
Respuesta: Problema con Cookie

Cita:
Iniciado por Heiroon Ver Mensaje
Buenas amigos, tengo el siguiente codigo:

Código PHP:
Ver original
  1. if(!isset($_COOKIE['idc']))
  2. {
  3.     setcookie("idc", rand(0,99999999),time() + 60);
  4. }
  5. echo $_COOKIE['idc'];

La cuestion es que al entrar a la pagina deberia de validar y en caso de no estar establecida la cookie crear una, cierto? pero o al menos es lo que veo yo... La cosa es que no es sino hasta la segunda vez que recarga que establece la cookie.. ayudenme con esto por favor.. cualquier cosa que necesiten me dicen... Gracias de antemano!
Sucede que cuando llamas a setcookie, el servidor envía el correspondiente header Set-Cookie, pero en ese momento no existe esa variable en el matriz global $_COOKIE, ya que está es generada según las cookies que le envía el cliente en el request.

Te recomiendo guardar el número aleatorío en una variable, asignar la cookie con setcookie y escribir el valor el array $_COOKIE, de esa manera, en el primer request ya puedes acceder al valor, no esperar al segundo valor.

Tú código quedaría así


Código PHP:
<?php

if(!isset($_COOKIE['idc']))
{
    
$n rand(0,99999999),time() + 60;
    
setcookie("idc"$n);    
    
$_COOKIE['idc'] = $n;
}
echo 
$_COOKIE['idc'];