本篇文章主要介紹用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 = 'demo'; $host = '127.0.0.1'; $user = 'root'; $password = 'root'; $dsn = "mysql:host=$host;dbname=$dbName"; $pdo = new PDO($dsn, $user, $password); function sql($table, $field = '*', $where = '') { global $pdo; $sql = 'select' . ' ' . $field . ' ' . 'from' . ' ' . $table . ' where ' . $where; $data = $pdo->query($sql)->fetch(); return $data; }
這裡我們定義了一個sql方法用來查詢資料庫表中字段,並返回資料。
那麼如果有新手不清楚PHP連接資料庫的方法,可以參考學習這篇文章【PHP怎麼連接Mysql資料庫#】。
3.檢驗使用者登入資訊的程式碼範例:
#check.php##
<?php session_start(); include "db.php"; @$name = $_POST['username']; @$pas = $_POST['password']; $row = sql('user', '*', "username = '$name'"); if (!$row) { return "用户名不存在!请检查用户名~~"; } if ($row['password'] == $pas) { $_SESSION['username'] = "$name"; echo "<script> alert('登录成功!正在跳转...') </script>"; echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>"; header("Refresh:1;url=index.php"); }這裡我們要開啟session,並用include引入資料庫,然後用if語句判斷查詢提交過來的資料並將使用者名稱提交給session來記錄,即判斷使用者名稱密碼是否存在及是否相等。
4.登入成功後跳轉的頁面程式碼範例:
<?php
echo "<h1>这里是主页</h1>";
session_start();
$name = $_SESSION['username'];
if ($name) {
echo "<script>
alert(\"尊敬的$name ,欢迎回来!!\");
</script>";
}else{
echo "<script>
alert('您还尚未登录!请返回登录~~')
</script>";
echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>";
header("Refresh:1;url=login.html");
}
那麼上述程式碼login.html,db.php,check.php和index.php就是一個簡單的用session來實作記錄使用者登入資訊的程式。
我們可以透過瀏覽器存取進行測試,首先我們可以在login登入介面,輸入使用者名稱密碼,效果如下圖:
點擊login登入,跳到check.php。
點擊確定
#如果跳轉失敗就點擊上圖中鏈接,如果跳轉成功,則直接跳到index.php主頁面,顯示如下圖:
本篇文章就是關於
PHP中session來實現記錄使用者登入資訊的具體方法介紹,具有一定的參考價值,希望對需要的朋友有所幫助! 想要了解更多的PHP知識,可以關注PHP中文網
PHP影片教學以上是PHP如何用session來記錄使用者登陸資訊? (圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!