溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么實(shí)現(xiàn)php基于cookie登錄

發(fā)布時(shí)間:2021-03-24 12:49:34 來(lái)源:億速云 閱讀:238 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下怎么實(shí)現(xiàn)php基于cookie登錄,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

php制作記住密碼自動(dòng)登錄的解決思路,其實(shí)也就是對(duì)session,cookies的操作。

首先,我們需要一個(gè)html模板,里面寫好表單元素,寫上姓名,密碼以及登錄按鈕,并將此文件命名為login.php,我們登錄頁(yè)面主要是在此頁(yè)面進(jìn)行。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>請(qǐng)登錄</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模板還不夠,我們需要將值傳遞出去,假設(shè)本網(wǎng)站只有唯一一個(gè)會(huì)員(或是用戶),我們需要將姓名與用戶的名字進(jìn)行匹配,如不是,將無(wú)法登錄,此代碼如下:

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&&=登錄成功,正在跳轉(zhuǎn)中!');
        }else{
            echo 'cookie設(shè)置失敗!';
        }
    }else{
        header('Location:lesson9.php?url=lesson8.php&&=用戶名或密碼填寫錯(cuò)誤,登錄失敗!');
    }
}
?>

登錄后再訪問(wèn)次網(wǎng)站,不應(yīng)顯示需要登錄,為次我們需要設(shè)置一個(gè)if函數(shù),來(lái)判斷一下。

<?php
if (isset($_COOKIE['username'])&&$_COOKIE['username']==='cmcc') {
    exit("您已經(jīng)登錄請(qǐng)不要重復(fù)登錄");
}

為了接受此數(shù)據(jù)以及登錄錯(cuò)誤重新登錄,我們需要新建一個(gè)文件weclome.php,在里面寫上:

<?php
   if (isset($_COOKIE['username'])&&$_COOKIE['username']==='cmcc') {
       echo "親愛的{$_COOKIE['username']}您好,歡迎回來(lái)!";
   }else{
       echo "<a href='lesson7.php'>請(qǐng)登錄</a>";
   }
?>

這時(shí)候我們就完成了登錄頁(yè)面的所有操作,下面給出login.php的完整代碼,方便參考。

<?php 
header('Content-type:text/html;charset=utf-8');
if (isset($_COOKIE['username']) && $_COOKIE['username']==='sunshengli') {
    exit('您已經(jīng)登錄請(qǐng)不要重復(fù)登錄');
}
if(isset($_POST['submit'])){
    if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username']==='sunshengli' && $_POST['password']==='123456'){
        if(setcookie('username',$_POST['username'],time()+3600)){
            header('Location:skip.php?url=index.php&info=登錄成功,正在跳轉(zhuǎn)中!');
        }else{
            echo 'cookie設(shè)置失??!';
        }
    }else{
        header('Location:skip.php?url=index.php&info=對(duì)不起,用戶名或密碼填寫錯(cuò)誤,登錄失??!');
    }
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>請(qǐng)登錄</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>

以上是“怎么實(shí)現(xiàn)php基于cookie登錄”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI