功能就是讓網站登錄過的人只要不注銷,下次打開網站之后直接進入,不用重復登錄,此功能主要是session與cookie的配合運用,具體實現是這樣的,在登錄頁面判斷並完成登錄,然后將所需數據寫入session及cookie中,代碼如下$_SESSION['name']=$user->name; 此處用的是ezSQL組件,因此寫入session是這種代碼,也可以吧需要用的的代碼寫入COOKIE並設置過期時間,如setcookie("name",$_SESSION['name'],time()+3600*24*7);直接把session中的值傳給COOKIE,Remember Me是一個單選框<input type="checkbox" name="remember" id="remember" value="1" />判斷post值為1的話,把所有需要的數據寫入session,前台直接登錄后台就比較簡單了,因為判斷登錄成功后才會寫入session和cookie,因此前台頁面只需判斷cookie時候存在值即可,但為安全把判斷的值寫的相對多點為好,代碼如下
<?php
if(isset($_COOKIE['name']) && isset($_COOKIE['Password']) && isset($_COOKIE['Email']) ){
if($_COOKIE['name']!="" && $_COOKIE['Password']!='' && $_COOKIE['Email']!="")
{
header("location:main.php");
}
}
?>
基本大概是這樣的,在做的過程中,我主要是先了解代碼,然后切入,相對於來說比較耗費時間,其中遇到的問題主要是邏輯處理,好好修改,基本已實現所需的功能。
登出注銷的話直接把cookie清空即可,代碼如下
setcookie("name","", time() - 3600);
setcookie("user_id","", time() - 3600);
setcookie("Email","", time() - 3600);
setcookie("Password","", time() - 3600);
setcookie("remember","", time() - 3600);
設置到期時間為24小時前即可。