Foros del Web » Programando para Internet » PHP »

sigo con el problema

Estas en el tema de sigo con el problema en el foro de PHP en Foros del Web. hola a todos sigo con mi problema de implementar las cookies tengo que actualizar el navegador para que me las reconozca, la verdad he intentado ...
  #1 (permalink)  
Antiguo 22/11/2007, 21:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 18
Antigüedad: 17 años
Puntos: 0
sigo con el problema

hola a todos sigo con mi problema de implementar las cookies tengo que actualizar el navegador para que me las reconozca, la verdad he intentado de todo pero no me sale, el proceso que hago es el siguiente el usuario se loguea y si marca el checkbox de recordar usuario se crean las cookies,esto lo hago con sesiones la primera vez si se loguea correctamente, crea las variables de sesion y las cookies mencionadas anteriormente,cuando el usuario cierra el navegador y vuelve al sitio utilizo este codigo, si no existe la cookie
redireccione a la pagina y creela, como la segunda vez que llega a la pagina
ya existe la cookie no entra al primer if,se supone que la cookie estado ya queda existiendo pues eso creo, y si existe redirecciono a la pagina de usuario logueado.
pero no funciona siempre tengo que darle click al boton actualizar del navegador,
para que redireccione a la pagina de usuario logueado ,si alguien me puede echar una mano y decirme que estoy haciendo mal se lo agradeceria.

<?php
if(!isset($_COOKIE["ban"]))
{
setcookie("ban","12345",time()+3600,"/");
echo "<SCRIPT LANGUAGE=\"JavaScript\"> window.location.href='http://localhost/negocio/index.php'; </SCRIPT>";
exit();
}

if(isset($_COOKIE["estado"]))
{
header("location:secciones/usuarios/usuariologueado.php");
exit();
}
?>
  #2 (permalink)  
Antiguo 22/11/2007, 21:44
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: sigo con el problema

La variable superglobal $_COOKIE es generada al principio del script... si seteas una variable después no va a afectar a $_COOKIE... lo que deberías hacer es mantenerla actualizada vos mismo, por ej

Código PHP:
<?php
if(!isset($_COOKIE["ban"]))
{
setcookie("ban",$_COOKIE['ban'] = "12345",time()+3600,"/");
echo 
"<SCRIPT LANGUAGE=\"JavaScript\"> window.location.href='http://localhost/negocio/index.php'; </SCRIPT>";
exit();
}

if(isset(
$_COOKIE["estado"]))
{
header("location:secciones/usuarios/usuariologueado.php");
exit();
}
?>
  #3 (permalink)  
Antiguo 23/11/2007, 09:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 18
Antigüedad: 17 años
Puntos: 0
Re: sigo con el problema

gracias por el aporte pero de todas formas no funciona siempre tengo que actualizar el navegador para que me redireccione a la pagina de usuariologueado.php
alguna idea de que otra cosa podria ser o alguna configuracion de las cookies
  #4 (permalink)  
Antiguo 23/11/2007, 10:53
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: sigo con el problema

Pero dónde seteas la cookie estado? sólo verificas que exista... no entiendo
  #5 (permalink)  
Antiguo 23/11/2007, 17:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 18
Antigüedad: 17 años
Puntos: 0
Re: sigo con el problema

la cookie estado la estoy seteando en un script aparte que llamé validalogin.php
si se loguea correctamente creo la cookie yle asigno a esa cookie la variable de sesion estado,(recuerda que la primera vez uso sesiones) de la
siguiente manera setcookie("estado",$_SESSION['estado'], time()+3600,"/"); con esto si el usuario cierra el navegador y vuelve al index le digo que si existe la cookie redireccione a la pagina de usuariologueado.php.

Para que tengas una idea mas clara la cookie de nombre ban la uso exclusivamente
para que me recargue el navegador siempre que ingrese el usuario al index y reconozca la cookie estado como creada pero aun asi no lo hace,me toca actualizarlo y la verdad no se me ocurrio otra idea,no se que pueda estar haciendo mal espero que me puedas ayudar
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 14:09.