<?
if($_POST["Login"])
{
if (GetRightPassword($_POST["emaillogin"],$_POST["passwordlogin"]))
{
$_SESSION["email"] = $_POST["emaillogin"];
$_SESSION["password"] = $_POST["passwordlogin"];
echo "Keeping logged in: ".$_POST["keeploggedin"];
if ($_POST["keeploggedin"])
{
setcookie("email", $_POST["emaillogin"], time()+60*60*24*365);
setcookie("password", $_POST["passwordlogin"], time()+60*60*24*365);
}
}
else
{
echo "Invalid username/password!";
}
}
if($_POST["Logout"])
{
$_SESSION["email"] = null;
$_SESSION["password"] = null;
setcookie("email", "", time()-900000);
setcookie("password", "", time()-900000);
}
echo $_COOKIE["email"];
?>
這是唯一的代碼(據我所知,我編碼6個月前的最小值,但我很確定沒有更多)寫入cookie或會話。PHP:Cookie不復位
當我單擊註銷時,它會消除會話變量,因此當頁面加載時,我退出了 - 再次更改頁面或刷新,然後再次登錄。
任何想法爲什麼?當我更改頁面時,登錄不會被髮送,所以我不知道爲什麼。
如果有幫助,echo $ _COOKIE [「email」];即使只是將它設置爲「」,也能回覆你的電子郵件。
編輯
我剛剛找到與此相關的更多的代碼。
此代碼運行之前該代碼。
if(isset($_COOKIE["email"]))
{
$_SESSION["email"] = $_COOKIE["email"];
$_SESSION["password"] = $_COOKIE["password"];
}
你實際存儲在cookie中的密碼? (只是檢查。)無論如何,嘗試使用'session_destroy()',並且不要將它們設置爲'null',而是'unset()'它們。而且,如果在任何地方都沒有'session_start()',則需要添加它。 – Ryan
會議的運作良好。這只是餅乾不是不安定的。我添加了一些我在瀏覽包含文件時發現的更多代碼。 –