PHP如何用session來記錄使用者登陸資訊? (圖文+影片)

藏色散人
發布: 2018-10-15 16:16:16
原創
7886 人瀏覽過

本篇文章主要介紹用PHP中session來實現記錄使用者登入資訊的具體方法。

PHP中session實作記錄使用者登入資訊的問題,也是PHP面試題中較常見的考點之一,是PHP學習者必須掌握的一個知識點。

對於初入門的PHP新手來說,或許有一定的難度。那麼在之前的文章【PHP中session如何儲存及刪除變數的】中,也為大家介紹了PHP中session的基礎意義,需要的朋友可以選擇參考。

下面我們就透過具體的程式碼範例,為大家詳細的介紹PHP中session實作記錄使用者登入資訊的具體方法。

1.簡單的登入介面程式碼範例:

#login.html

<!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如何用session來記錄使用者登陸資訊? (圖文+影片)" ><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>
登入後複製

#2.簡單的用於連接資料庫的PHP檔案程式碼範例:

db.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;
}
登入後複製

這裡我們定義了一個sql方法用來查詢資料庫表中字段,並返回資料

那麼如果有新手不清楚PHP連接資料庫的方法,可以參考學習這篇文章PHP怎麼連接Mysql資料庫#】。

3.檢驗使用者登入資訊的程式碼範例:

#check.php##

<?php
session_start();
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) {
    return "用户名不存在!请检查用户名~~";
}

if ($row[&#39;password&#39;] == $pas) {
    $_SESSION[&#39;username&#39;] = "$name";
    echo "<script>
    alert(&#39;登录成功!正在跳转...&#39;)
</script>";
    echo "<a href=&#39;index.php&#39;>如果跳转失败请点击跳转~~</a>";
    header("Refresh:1;url=index.php");
}
登入後複製

這裡我們要開啟session,並用include引入資料庫,然後用if語句判斷查詢提交過來的資料並將使用者名稱提交給session來記錄,即判斷使用者名稱密碼是否存在及是否相等。


4.登入成功後跳轉的頁面程式碼範例:

##index.php

<?php
echo "<h1>这里是主页</h1>";
session_start();
$name = $_SESSION[&#39;username&#39;];
if ($name) {
    echo "<script>
     alert(\"尊敬的$name ,欢迎回来!!\");
</script>";
}else{
    echo "<script>
    alert(&#39;您还尚未登录!请返回登录~~&#39;)
</script>";
    echo "<a href=&#39;index.php&#39;>如果跳转失败请点击跳转~~</a>";
    header("Refresh:1;url=login.html");
}
登入後複製
那麼上述程式碼login.html,db.php,check.php和index.php就是一個簡單的用session來實作記錄使用者登入資訊的程式。

我們可以透過瀏覽器存取進行測試,首先我們可以在login登入介面,輸入使用者名稱密碼,效果如下圖:

PHP如何用session來記錄使用者登陸資訊? (圖文+影片)點擊login登入,跳到check.php。

PHP如何用session來記錄使用者登陸資訊? (圖文+影片)點擊確定


PHP如何用session來記錄使用者登陸資訊? (圖文+影片)#如果跳轉失敗就點擊上圖中鏈接,如果跳轉成功,則直接跳到index.php主頁面,顯示如下圖:


PHP如何用session來記錄使用者登陸資訊? (圖文+影片)

PHP如何用session來記錄使用者登陸資訊? (圖文+影片)本篇文章就是關於

PHP中session來實現記錄使用者登入資訊

的具體方法介紹,具有一定的參考價值,希望對需要的朋友有所幫助! 想要了解更多的PHP知識,可以關注PHP中文網

PHP影片教學

,歡迎大家參考學習!

以上是PHP如何用session來記錄使用者登陸資訊? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板