Ayuda con resfrescamiento o actualización de la página

Bueno mi problema es el siguiente no se si sera problemas en las cookies u otro problema aquí te dejo los códigos y te explico todo funciona correctamente(autentificación de usuario) pero después que te logueas y/o sales de sistema las páginas a las que e tiene acceso se sigun viendo o por lo menos hasta que el uuario actualixe o presione F5 es decir yo entro con mi usuario y contraseña las páginas con seguridad las veo perfectamente pero al salir me voy a l misma página con egridad y la sigo viendo a lo que actualixo la pag(F5) si medic usuario no autorizado etc etc. Dejo los códigos:
<?php   
include ("conexion.php"); 
include ("login.php");
if($loginCorrecto)
{
echo' AQUI EL CONTENIDO HTML(LA WEB)';
La verdad prob con actualixar mediante un meta pero se un bucle. No se es seria mejor un javascript o un simple script que lo coloque en el archivo Conexión.php o login.php ya que son las primeras sentencias que se ejcutan actualixar mediante ello la pag :S no tengo idea realmente estoy un poco perdido en esto porfavorte agradecería la ayuda.
}
else
{
echo "El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area";
}
?>

1 respuesta

Respuesta
1
¿Estas trabajando con session o con cookies?... ahora puedes colocar más código para poderte ayudar como por ejemplo como generes la cookie como la llamas etc etc etc.
bueno este es el código del login.php
<?php      
$loginCorrecto = false;
$idUsuarioL;
$nickUsuarioL;
$emailUsuarioL;
$nombreUsuarioL;
if
(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))
{
$result = mysql_query("SELECT * FROM usuarios WHERE nick='".
$HTTP_COOKIE_VARS["usNick"]."' AND password='".$HTTP_COOKIE_VARS["usPass"]."'");
if($row = mysql_fetch_array($result)){setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000);
setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000);
$loginCorrecto = true;
$idUsuarioL = $row["id"];
$nickUsuarioL = $row["nick"];
$emailUsuarioL = $row["email"];
$nombreUsuarioL = $row["nombre"];
}
else
{
//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
}
mysql_free_result($result);
}
?>
Primera observación:
Cuando trates de tomar el valor de una cookie no uses $HTTP_COOKIE_VARS["usNick"] usa $_COOKIE['saludo'] es la misma función pero a partir de php 5.2.4 y php 6 va a estar deprecated osea no se podrá usar más.
Segunda observación:
No se si la lógica pero deberías usar un link para crear las cookies, un link para eliminarla y un link para mostrar los datos que deseas. En los links que creas o eliminas las cookies lo que tienes que es colocar después que creas o eliminas la cookie un header: Location para que redireccione a los datos que muestra la página.
Tercera observación:
Eliminas la cookie así:
setcookie("usNick","x",time()-3600);
Trata solo:
setcookie('usNick');
Como no estas pasando tiempo de vida de la cookie eso lo que hace es eliminarla.
P.D.
Otra cosa que puedes hacer es
unset($_COOKIE['usNick']);
P.D. 2
Mi recomendación es no usar Cookies para manejar sesiones, en este caso es mejor usar variables de sesión en el servidor $_SERVER[] así validas que tu aplicación siempre va a funciona, ya que la sesión no va a estar en el cliente y si este no pormite usar Cookies tu aplicación no podrá seguir.
Otra cosa es no abusar de las sesiones solo guardar en sesión datos muy importantes para la aplicación, he visto casos que toda la aplicación esta en sesión en el servidor y luego se preguntan por que esta lenta jejejeje.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas