Witam,
mam system logowania oparty o ciasteczka i sesje, po zalogowaniu wszystko działa, ale jeżeli kliknę jakiś inny link sesja zostaje skasowana a ciasteczka są nie ruszone (wszystkie dane w nich zapisane nie ulegają zmianie).
tu jest mój kod odpowiedzialny za zalogowanie:
Kod
if($_GET['act']=='login'){
$pytanienick=mysql_query("SELECT * FROM users WHERE login='$user' AND haslo='$pass'")
or die(mysql_error());
if (mysql_num_rows($pytanienick)!= 1)
{
return false;
}
else
{
if($pam=='always'){
setcookie ("user", $user,time()+2678400);
setcookie ("always","pamietaj",time()+2678400);
$_SESSION['user']=$user;
$sql = "DELETE FROM online WHERE login='$user'";
$wynik = mysql_query($sql) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
$time=Date('H:i:s');
$sql = "INSERT INTO online(login, czas) VALUES ('$user', '$time')";
$wynik = mysql_query($sql) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
$d = Date("j");
$r = Date("Y");
$m = Date("n");
$data=$r.'-'.$m.'-'.$d;
$q = "UPDATE users SET ostatnie_logowanie='$data' WHERE login='$user'";
$wynik = mysql_query($q) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
return true;
}else{
setcookie ("user", $user,time()+86400);
$_SESSION['user']=$user;
$sql = "DELETE FROM online WHERE login='$user'";
$wynik = mysql_query($sql) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
$time=Date('H:i:s');
$sql = "INSERT INTO online(login, czas) VALUES ('$user', '$time')";
$wynik = mysql_query($sql) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
$d = Date("j");
$r = Date("Y");
$m = Date("n");
$data=$r.'-'.$m.'-'.$d;
$q = "UPDATE users SET ostatnie_logowanie='$data' WHERE login='$user'";
$wynik = mysql_query($q) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
return true;
}
}
}