Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2010, 01:52
Avatar de Flow89
Flow89
 
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 346
Antigüedad: 14 años
Puntos: 1
Sistema de Login :S

Hola, tengo un sistema de login, funciona perfecto, el caso es que relleno el formulario, me loguea correctamente y me crea las cookies.
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("<","&lt;",$mensaje);
   
$mensaje str_replace(">","&gt;",$mensaje);
   
$mensaje str_replace("\'","'",$mensaje);
   
$mensaje str_replace('\"',"&quot;",$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();  
  
?>
login.php
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.

Última edición por Flow89; 11/05/2010 a las 01:59