2010-02-18 4 views
5

Quiero redirigir a una página de bienvenida para los visitantes que visitan el sitio por primera vez usando cookies para recordar que vinieron. Esto es fácil, sin embargo, para las personas con cookies deshabilitadas, nunca quiero redirigirlas a la página de bienvenida.Buscar cookies con PHP (no JS) para utilizar para redirigir la página de inicio

El problema que me encuentro es que cuando configuro la cookie, PHP no la verá hasta que vuelva a cargar la página. Esto significa que los visitantes primerizos no son redirigidos a menos que visiten la página de inicio dos veces o vuelvan a cargar la página.

Aquí es lo que tengo que las obras, sino que requiere una recarga:

setcookie("test",'1',time() + 3600,'/'); 
if(isset($_COOKIE['test'])){ 
    if(isset($_COOKIE['bfc_splash'])){}else{ 
     header("Location: splash/"); 
    } 
} 

He intentado esto, pero parece información de la sesión se almacena en una cookie, ya que sólo infinitamente redirige:

if(isset($_COOKIE['test'])){ 
    if(isset($_COOKIE['bfc_splash'])){}else{ 
     header("Location: splash/"); 
    } 
}elseif(!isset($_COOKIE['test']) && !isset($_SESSION['cookies'])){ 
    setcookie("test",'1',time() + 3600,'/'); 
    $_SESSION['cookies'] = '1'; 
    header("Location: index.php"); 
} 

Preferiría no usar javascript para buscar cookies, ya que alguien que deshabilita las cookies probablemente también desactive javascript. Cualquier idea o enlace a soluciones sería muy apreciada. No he encontrado mucho hasta ahora.

Respuesta

2

Si el usuario ha desactivado las cookies, no podrá saber si está visitando el sitio por primera vez o no, ya que cada visita se verá como la primera visita.

+0

derecho, por eso I * * Nunca quiero volver a dirigir a alguien con las cookies desactivadas a la página de bienvenida. – Karl

+0

No podrá saber si el usuario ha desactivado las cookies o está visitando el sitio por primera vez. –

1

Al mirar un sitio de ejemplo, barackobama.com, pasan una variable GET cuando se salta a la página de inicio desde la redirección de splash. Esto permite que alguien vea la página de inicio si no tienen habilitadas las cookies. No parece importarles mucho que alguien con cookies deshabilitadas sea redirigido de nuevo una vez que haga clic en el enlace de inicio en la parte superior (que carece de la variable GET). Como parece que no les importan las personas con cookies deshabilitadas, haré lo mismo ya que no puedo encontrar una mejor solución.

Cuestiones relacionadas