首頁  >  文章  >  後端開發  >  如何一招搞定php基於cookie登入

如何一招搞定php基於cookie登入

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-03-24 11:06:591833瀏覽

現在我們大多依據客戶端的cookie來實現密碼自動登入的功能,php也不例外,有需要的朋友可以參考一下。

如何一招搞定php基於cookie登入

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[&#39;submit&#39;])) {
    if(isset($_POST[&#39;username&#39;]) && isset($_POST[&#39;password&#39;]) && $_POST[&#39;username&#39;]===&#39;cmcc&#39; && $_POST[&#39;password&#39;]===&#39;123456&#39;){
        if (setcookie(&#39;username&#39;,$_POST[&#39;username&#39;],time()+3600)) {
            header(&#39;Location:lesson9.php?url=lesson8.php&&=登录成功,正在跳转中!&#39;);
        }else{
            echo &#39;cookie设置失败!&#39;;
        }
    }else{
        header(&#39;Location:lesson9.php?url=lesson8.php&&=用户名或密码填写错误,登录失败!&#39;);
    }
}
?>

登入後再訪問次網站,不應顯示需要登錄,為次我們需要設定一個if函數,來判斷。

<?php
if (isset($_COOKIE[&#39;username&#39;])&&$_COOKIE[&#39;username&#39;]===&#39;cmcc&#39;) {
    exit("您已经登录请不要重复登录");
}

為了接受此資料以及登入錯誤重新登錄,我們需要新建一個檔案weclome.php,在裡面寫上:

<?php
   if (isset($_COOKIE[&#39;username&#39;])&&$_COOKIE[&#39;username&#39;]===&#39;cmcc&#39;) {
       echo "亲爱的{$_COOKIE[&#39;username&#39;]}您好,欢迎回来!";
   }else{
       echo "<a href=&#39;lesson7.php&#39;>请登录</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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn