現在我們大多依據客戶端的cookie來實現密碼自動登入的功能,php也不例外,有需要的朋友可以參考一下。
php製作記住密碼自動登入的解決思路,其實也就是對session,cookies的操作。
首先,我們需要一個html模板,裡面寫好表單元素,寫上姓名,密碼以及登入按鈕,並將此文件命名為login.php,我們登入頁面主要是在此頁面進行。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <title>请登录</title> </head> <body> <form method="post" action="login.php"> 姓名:<input type="text" name="username" /> 密码:<input type="password" name="password" /> <input type="submit" name="submit" value="登录" /> </form> </body> </html>
我們有了html模板還不夠,我們需要將值傳遞出去,假設本網站只有唯一一個會員(或是用戶),我們需要將姓名與用戶的名字進行匹配,如不是,將無法登錄,此程式碼如下:
if (isset($_POST['submit'])) { if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username']==='cmcc' && $_POST['password']==='123456'){ if (setcookie('username',$_POST['username'],time()+3600)) { header('Location:lesson9.php?url=lesson8.php&&=登录成功,正在跳转中!'); }else{ echo 'cookie设置失败!'; } }else{ header('Location:lesson9.php?url=lesson8.php&&=用户名或密码填写错误,登录失败!'); } } ?>
登入後再訪問次網站,不應顯示需要登錄,為次我們需要設定一個if
函數,來判斷。
<?php if (isset($_COOKIE['username'])&&$_COOKIE['username']==='cmcc') { exit("您已经登录请不要重复登录"); }
為了接受此資料以及登入錯誤重新登錄,我們需要新建一個檔案weclome.php,在裡面寫上:
<?php if (isset($_COOKIE['username'])&&$_COOKIE['username']==='cmcc') { echo "亲爱的{$_COOKIE['username']}您好,欢迎回来!"; }else{ echo "<a href='lesson7.php'>请登录</a>"; } ?>
這時候我們就完成了登入頁面的所有操作,下面給出login.php的完整程式碼,方便參考。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <title>请登录</title> </head> <body> <form method="post" action="login.php"> 姓名:<input type="text" name="username" /> 密码:<input type="password" name="password" /> <input type="submit" name="submit" value="登录" /> </form> </body> </html>
推薦學習:《PHP影片教學》
以上是如何一招搞定php基於cookie登入的詳細內容。更多資訊請關注PHP中文網其他相關文章!