Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2004, 15:31
Avatar de Gryphus
Gryphus
 
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Problema con Logout

Bueno vereis, puse en mi web un sistema de registro de usuarios que vi en una web y todo iba bien hasta que intento deslogearme desde un archivo que esta en /carpeta/archivo.php
En la raiz tengo los mismos archivos y me funcionan. Los archivos que uso son:
ingresar.php
Código PHP:
<?php 

$db 
mysql_connect("SERVIDOR","USUARIO","CONTRASEÑA");
mysql_select_db("BASE_DATOS"$db);

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("\\\\","&#92",$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

//90 dias dura la cookie 
setcookie("usNick",$nickN,time()+7776000); 
setcookie("usPass",$passN,time()+7776000); 
?> <?php
echo "<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";  
?><? 

else 

echo 
"Password incorrecto <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";  
}
}
else 

echo 
"Usuario no existente en la base de datos <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";   

mysql_free_result($result); 

else 

echo 
"Debe especificar un nick y password <SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";    

mysql_close(); 
?>
Este es para ingresar en la sesion
login.php
Código PHP:
<?php 
$loginCorrecto 
false
$idUsuarioL
$nickUsuarioL
$emailUsuarioL
$nombreUsuarioL;
$rangoUsuarioL
$avatarUsuarioL;
$expUsuarioL;
$nivelUsuarioL;
$guiles;
$paisUsuarioL;
$diaUsuarioL;
$mesUsuarioL;
$anyoUsuarioL;
$ocupacionUsuarioL;
$firmaUsuarioL;
$fechaUsuarioL;
$sexoUsuarioL;
$categoriaUsuarioL;
$jobUsuarioL;
$namejobUsuarioL;

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"]; 
$passwordUsuarioL $row["password"]; 
$rangoUsuarioL $row["rango"];
$avatarUsuarioL $row["avatar"];
$expUsuarioL $row["exp"];
$nivelUsuarioL $row["nivel"];
$guiles $row["guiles"];
$paisUsuarioL $row["pais"];
$diaUsuarioL $row["dia"];
$mesUsuarioL $row["mes"];
$anyoUsuarioL $row["anyo"];
$ocupacionUsuarioL $row["ocupacion"];
$firmaUsuarioL $row["firma"];
$fechaUsuarioL $row["fecha"];
$sexoUsuarioL $row["sexo"];
$categoriaUsuarioL $row["categoria"];
$jobUsuarioL $row["job"];
$namejobUsuarioL $row["name_job"];

else 

//Destruimos las cookies. 
setcookie("usNick","x",time()-3600); 
setcookie("usPass","x",time()-3600); 

mysql_free_result($result); 

?>
Este es para definir los valores de la sesion (nombre de usuario, password...)
deslogeado.php
Código PHP:
<? 
setcookie
("usNick","x",time()-3600); 
setcookie("usPass","x",time()-3600); 
echo 
"<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>"
?>
Y este ultimo es para hacer logout.
Estos archivos estan en la raiz de la web y todos funcionan correctamente, pero en carpeta/archivo.php tengo los mismos archivos pero no me funciona el logout, de hecho, si me identifico en carpeta/archivo.php y luego voy a la carpeta raiz y hago logout se deslogea en la raiz pero cuando vuelvo a entrar en carpeta/archivo.php esta la sesion abierta, o sea, en carpeta/archivo.php no se puede deslogear. Espero que me podais ayudar, gracias de antemano.
Saludos

Última edición por Gryphus; 06/08/2004 a las 15:33