PHP cookie實現記錄使用者登陸資訊的方法(圖文+影片)

藏色散人
發布: 2018-10-18 15:55:52
原創
7025 人瀏覽過

本篇文章主要介紹給大家PHP使用cookie來實作記錄使用者登入資訊的方法。

cookie也就是儲存在使用者本地端上的資料。那麼在之前的文章【PHP中cookie怎麼記錄及刪除變數? 】中,已經為大家詳細介紹過cookie是什麼以及基礎操作用法。需要的朋友可以先了解參考下。

cookie的使用除了在我們日常專案開發中被需要,在我們PHP面試過程中也是較為常見的一個考點,大家是很有必須學習掌握的。

下面我們就結合具體的程式碼範例,跟大家介紹cookie實作記錄使用者登入資訊的方法。

以下方法與先前介紹的session實作記錄使用者登入資訊的想法及使用範例基本上是一樣的,需要的朋友也可以選擇了解下【PHP如何用session來記錄使用者登陸資訊? 】這篇文章。

一、登入介面程式碼範例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>登录</title>
    <style type="text/css">
        body {
            background: url(images/bg.png);
        }
 
        .clear {
            clear: both;
        }
 
        .login {
            width: 370px;
            margin: 100px auto 0px;
            text-align: center;
        }
 
        input[type="text"] {
            width: 360px;
            height: 50px;
            border: none;
            background: #fff;
            border-radius: 10px;
            margin: 5px auto;
            padding-left: 10px;
            color: #745A74;
            font-size: 15px;
        }
 
        input[type="checkbox"] {
            float: left;
            margin: 5px 0px 0px;
        }
 
        span {
            float: left;
        }
 
        .botton {
            width: 130px;
            height: 40px;
            background: #745A74;
            border-radius: 10px;
            text-align: center;
            color: #fff;
            margin-top: 30px;
            line-height: 40px;
        }
    </style>
</head>
<body>
<div class="login">
    <form action="check.php" method="post">
        <img  src="images/header.png" alt="PHP cookie實現記錄使用者登陸資訊的方法(圖文+影片)" ><br>
        <input type="text" name="username" placeholder="请输入用户名!" value=""><br>
        <input type="text" name="password" placeholder="请输入密码!" value=""><br>
        <input type="submit" class="botton" value="login">
    </form>
    <div class="clear"></div>
</div>
</body>
</html>
登入後複製

二、連接資料庫的PHP檔案程式碼範例:

<?php
$dbName = &#39;demo&#39;;
$host = &#39;127.0.0.1&#39;;
$user = &#39;root&#39;;
$password = &#39;root&#39;;
 
$dsn = "mysql:host=$host;dbname=$dbName";
$pdo = new PDO($dsn, $user, $password);
 
function sql($table, $field = &#39;*&#39;, $where = &#39;&#39;)
{
    global $pdo;
    $sql = &#39;select&#39; . &#39; &#39; . $field . &#39; &#39; . &#39;from&#39; . &#39; &#39; . $table . &#39; where &#39; . $where;
    $data = $pdo->query($sql)->fetch();
    return $data;
}
登入後複製

三、使用者登入資訊的程式碼範例

<?php
include "db.php";
@$name = $_POST[&#39;username&#39;];
@$pas = $_POST[&#39;password&#39;];

$row = sql(&#39;user&#39;, &#39;*&#39;, "username = &#39;$name&#39;");
if (!$row) {
    echo "<script>
    alert(&#39;用户名不存在!请检查用户名~~&#39;)
</script>";
    header("Refresh:1;url=login.html");
    return;
}

if ($row[&#39;password&#39;] == $pas) {
    setcookie("username", "$name", time() + 36000);
    echo "<script>
    alert(&#39;登录成功!正在跳转...&#39;)
</script>";
    echo "<a href=&#39;index.php&#39;>如果跳转失败请点击跳转~~</a>";
    header("Refresh:1;url=index.php");
    return;
}
echo "密码错误!请检查密码";
header("Refresh:1;url=login.html");
登入後複製

這裡我們將使用者登入成功後的資訊儲存到cookie中,並且保留時間為10個小時。

四、主頁程式碼範例:

<?php
echo "<h1>这里是主页</h1>";
@$name = $_COOKIE[&#39;username&#39;];
echo $_COOKIE[&#39;username&#39;];
if ($name) {
    echo "<script>
     alert(\"尊敬的$name ,欢迎回来!!\");
</script>";
}else{
    echo "<script>
    alert(&#39;您还尚未登录!请返回登录~~&#39;)
</script>";
    echo "<a href=&#39;login.html&#39;>如果跳转失败请点击跳转~~</a>";
    header("Refresh:1;url=login.html");
}
登入後複製

透過瀏覽器訪問,效果實作如下圖所示:

PHP cookie實現記錄使用者登陸資訊的方法(圖文+影片)

當然我們可以檢驗一下使用者資訊是否成功儲存到cookie中,在index.php中,直接寫上如下程式碼:

<?php
echo $_COOKIE[&#39;username&#39;];
登入後複製

結果如下圖:

PHP cookie實現記錄使用者登陸資訊的方法(圖文+影片)

如圖我們輸出了cookie中所儲存的使用者名稱訊息,也就表示使用者資訊已經儲存到cookie中了。

本篇文章就是關於PHP使用cookie來實現記錄使用者登入資訊的方法介紹,希望對需要的朋友有幫助!

想要了解更多PHP知識,可以關注PHP中文網PHP影片教學,歡迎大家參考學習!

以上是PHP cookie實現記錄使用者登陸資訊的方法(圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!