necessito de um sistema de login com cookies...digo com cookies pois penso que com session ele expira automaticamente, sendo que com cookies não expira se não kisermos correcto?
o problema é que nunca trabalhei com cookies.
tinha criado para outro trabalho um sistema de login com session e entyretanto tentei modificálo para cookie
o que está mal neste código?
login
<?php
$cn = mysql_connect("localhost", "uttil", "240490");
mysql_select_db("users");
$login = $_POST['login'];
$senha = $_POST['senha'];
$login_escape = addslashes($login);
$senha_escape = addslashes($senha);
$resultado = mysql_query("select * from users where email = '{$login_escape}' AND senha = '{$senha_escape}'");
$linhas = mysql_num_rows($resultado);
$id = mysql_query("select id from users where email = '{$login_escape}'");
$id_fetch = mysql_fetch_assoc($id);
if($linhas == 0)
{
echo "<center>Usuário não encontrado ou senha errada</center>";
echo "<center><img src='../../gif/perigo.png' /></center><p>";
echo "<center><a href='../areareservada.php'>voltar a tentar</a></center>";
}else{
setcookie("login_usuario", $login_escape);
setcookie("senha_usuario", $senha_escape);
setcookie("id_usuario", $id_fetch['id']);
header("Location: user.php?id=".$id_fetch['id']."");
}
mysql_close($cn);
?>
valida_sessiion
<?php
if($_COOKIE['id_usuario'] != $id){
echo '<center>Você não tem permissão para acessar a esta página</center>';
echo "<center><img src='../../gif/proibido.png' /></center><p>";
echo "<center><a href='../../index.php'>voltar a tentar</a></center>";
exit;
}
if(isset($_COOKIE["login_usuario"]) AND isset($_COOKIE["senha_usuario"]) AND isset($_COOKIE["id_usuario"])) {
$login_usuario = $_COOKIE["login_usuario"];
$senha_usuario = $_COOKIE["senha_usuario"];
$id_usuario = $_COOKIE["id_usuario"];
}else{
echo "<center>Login não efectuado</center>";
echo "<center><img src='../../gif/perigo.png' /></center><p>";
echo "<center><a href='../../index.php'>voltar a tentar</a></center>";
exit();
}
if(!(empty($login_usuario) OR empty($senha_usuario)))
{
$cn = mysql_connect("localhost", "uttil", "240490");
mysql_select_db("users");
$resultado = mysql_query("select * from users where email = '$login_usuario'");
if(mysql_num_rows($resultado) == 1)
{
if($senha_usuario != mysql_result($resultado, 0, "senha"))
{
unset ($_COOKIE["login_usuario"]);
unset ($_COOKIE["senha_usuario"]);
unset ($_COOKIE["id_usuario"]);
echo "<center>Login não efectuado</center>";
echo "<center><img src='../../gif/perigo.png' /></center><p>";
echo "<center><a href='../../index.php'>voltar a tentar</a></center>";
exit();
}
}else{
unset ($_COOKIE["login_usuario"]);
unset ($_COOKIE["senha_usuario"]);
unset ($_COOKIE["id_usuario"]);
echo "<center>Login não efectuado</center>";
echo "<center><img src='../../gif/perigo.png' /></center><p>";
echo "<center><a href='../../index.php'>voltar a tentar</a></center>";
exit();
}
}
else{
echo "<center>Login não efectuado</center>";
echo "<center><img src='../../gif/perigo.png' /></center><p>";
echo "<center><a href='../../index.php'>voltar a tentar</a></center>";
exit();
}
mysql_close($cn);
?>
Pergunta
Diogo Freitas
boas tardes,
necessito de um sistema de login com cookies...digo com cookies pois penso que com session ele expira automaticamente, sendo que com cookies não expira se não kisermos correcto?
o problema é que nunca trabalhei com cookies.
tinha criado para outro trabalho um sistema de login com session e entyretanto tentei modificálo para cookie
o que está mal neste código?
login
valida_sessiionabraço
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.