cookies y zona de miembros registrados
Publicado por JAVI (9 intervenciones) el 30/10/2006 21:33:12
HOLA GENTE!!!
Estoy intentando hacer una página con una zona privada para usuarios registrados.
La inserción de usuarios está realizada y funcionando, el problema está en que no consigo hacer que me funcionen las cookies entre páginas para poder navegar por la zona privada.
La página que recoge los datos del usuario y la contraseña lo hace correctamente y supuestamente crea los cookies, pero luego no consigo detectarlos desde otras páginas.
Si alguien tuviera la amabilidad de mandarme un zip con un sistema de este tipo funcionando, se lo agradecerúia mucho.
una parte del código donde comprueba que el introducido es correcto:
include("connexion.php");
$link=Conectarse();
$user=$_POST['usuario'];
$pass=$_POST['password'];
$valido=0;
$result=mysql_query("select * from usuarios",$link);
while($row = mysql_fetch_array($result)) {
if (($row["clave"]==$pass) && ($row["usuario"]==$user)){
setcookie("usNick",$user,time()+7776000);
setcookie("usPass",$pass,time()+7776000);
$valido=1;
}
}
mysql_free_result($result);
mysql_close($link);
lo hace correctamente, aunque se podría depurar más. luego intento rescatar las cookies desde otra página que tiene un include a otra con este código:
$loginCorrecto = false;
$idUsuarioL;
$nickUsuarioL;
if(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))
{
$result = mysql_query("SELECT * FROM usuarios WHERE usuario='".$HTTP_COOKIE_VARS["usNick"]."' AND clave='".$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"];
echo "HA ENCONTRADO USUARIO";
}
else
{
//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
echo "NO HA ENCONTRADO USUARIO";
}
mysql_free_result($result);
}
echo "NO HA ENCONTRADO COOKIES";
return $loginCorrecto;
}
y al final el resultado es "NO HA ENCONTRADO COOKIES", por lo que la comparación inicial da fallo.
AYÚDENME POR FAVOR!!!!
GRACIAS
Estoy intentando hacer una página con una zona privada para usuarios registrados.
La inserción de usuarios está realizada y funcionando, el problema está en que no consigo hacer que me funcionen las cookies entre páginas para poder navegar por la zona privada.
La página que recoge los datos del usuario y la contraseña lo hace correctamente y supuestamente crea los cookies, pero luego no consigo detectarlos desde otras páginas.
Si alguien tuviera la amabilidad de mandarme un zip con un sistema de este tipo funcionando, se lo agradecerúia mucho.
una parte del código donde comprueba que el introducido es correcto:
include("connexion.php");
$link=Conectarse();
$user=$_POST['usuario'];
$pass=$_POST['password'];
$valido=0;
$result=mysql_query("select * from usuarios",$link);
while($row = mysql_fetch_array($result)) {
if (($row["clave"]==$pass) && ($row["usuario"]==$user)){
setcookie("usNick",$user,time()+7776000);
setcookie("usPass",$pass,time()+7776000);
$valido=1;
}
}
mysql_free_result($result);
mysql_close($link);
lo hace correctamente, aunque se podría depurar más. luego intento rescatar las cookies desde otra página que tiene un include a otra con este código:
$loginCorrecto = false;
$idUsuarioL;
$nickUsuarioL;
if(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))
{
$result = mysql_query("SELECT * FROM usuarios WHERE usuario='".$HTTP_COOKIE_VARS["usNick"]."' AND clave='".$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"];
echo "HA ENCONTRADO USUARIO";
}
else
{
//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
echo "NO HA ENCONTRADO USUARIO";
}
mysql_free_result($result);
}
echo "NO HA ENCONTRADO COOKIES";
return $loginCorrecto;
}
y al final el resultado es "NO HA ENCONTRADO COOKIES", por lo que la comparación inicial da fallo.
AYÚDENME POR FAVOR!!!!
GRACIAS
Valora esta pregunta
0