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("<","<",$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)
{
//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();
?>
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);
}
?>
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>";
?>
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