Despues de enviar el contenido a ingresar.php y lo gestiona hace el header(location: administracion.php) y ahí me da como si no estubiese logueado, y tengo que actualizar la página para que funcione...
Me gustaría que no hiciese falta actualizar, claro esta.. xD
Os dejo los codigos:
ingresar.php
Código PHP:
<?php
include("conex.php");
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\\",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$nickN = quitar($HTTP_POST_VARS["nick"]);
$passN = quitar($HTTP_POST_VARS["password"]);
$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'");
if($row = mysql_fetch_array($result))
{
if($row["password"] == $passN)
{
//La cookie dura 1 hora
setcookie("usNick",$nickN,time()+36000);
setcookie("usPass",$passN,time()+36000);
?>
Logueado correctamente, ahora sera dirigido a el panel de administración.
<SCRIPT LANGUAGE="javascript">
location.href = "administracion.php";
</SCRIPT>
<?
}
else
{
echo "Contraseña incorrecta";
}
}
else
{
echo "Ese Usuario no existe en la base de datos";
}
mysql_free_result($result);
}
else
{
echo "Debe especificar un nick y password";
}
mysql_close();
?>
Código 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);
}
?>
Y así compruebo si esta logueado o no, para mostrarle la página o un error de que NO esta logueado.
Código PHP:
<?php
include("login.php");
if($loginCorrecto)
{
echo "Aqui el contenido solo para usuarios registrados";
}
else
{
echo "El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area";
}
A ver si me podeis echar una mano para que no me toque actualizar la pagina, o que se actualize sola o algo asi.. :S
Un saludo y gracias.