我有一個登錄表單,我有一個用戶名,密碼和一個記住我單選按鈕選項。現在我需要它,以便當我從主頁註銷後,再次嘗試登錄時,無需詢問用戶名和密碼,我登錄,因爲我將存儲用戶名和密碼值到cookie中。當我點擊'記住我'並退出後,當我再次嘗試登錄時,Cookie未被檢索
我password_match.php頁面(登錄頁面的操作頁面)
$con=mysql_connect("localhost","root","");
if(!$con)
{
die('Could Not Connect:'.mysql_error());
}
mysql_select_db("tcs",$con);
if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass']))
{
$usr = $_COOKIE['cookname'];
$pwd = $_COOKIE['cookpass'];
$pwd=hash('sha1',$_POST['password']);
}
else
{
$usr=$_POST["username"];
$pwd=hash('sha1',$_POST['password']);
}
上編寫代碼通過這個代碼,我檢查是否有與cookname和cookpassword包含用戶名和密碼的餅乾。如果沒有找到該名稱的cookie,則直接從文本框中檢索用戶名和密碼(如果用戶輸入的話)。
現在這我會寫會設置一個cookie,如果用戶名和密碼存在代碼:
如果($結果) { $行= mysql_fetch_array($結果);
if (($row["Username"]==$usr) && ($row["Password"]==$pwd))
{
if(isset($_POST['remember']))
{
setcookie("cookname", $row['Username'], time()+60*60*24*100, "/");
setcookie("cookpass", $row['Password'], time()+60*60*24*100, "/");
}
$_SESSION['employee']['id']=$row['User Id'];
$_SESSION['employee']['username']=$row['Username'];
header ("Location: home_page.php");
}
現在開始的時候,當我輸入用戶名和密碼,如果這些都正確顯示一個cookie必須已設置好,如果我現在退出,並嘗試在形式上相同的符號,如據我說,它應該收回餅乾,但沒有在這裏開心。我無法實現它。我哪裏錯了?
不要將密碼存儲在cookie中。這是一個非常糟糕的主意。你根本不需要存儲他們的登錄信息。只需登錄他們,然後將其標記爲授權,然後檢查。當然要安全。 – 2010-02-01 02:36:48
你會詳細告訴我PLZ .. – 2010-02-01 02:57:21
請參閱下面的答案。按照該文章創建2個Cookie。 1是正常的cookie,1是持久的,有很長的到期時間(一年或更長)。 – 2010-02-08 03:36:39