記錄用戶登陸信息,你用PHP是如何來實現的


對於初入門的PHP新手來說,或許有一定的難度。建議大家先看看PHP中session的基礎含義,需要的朋友可以選擇參考。

下面我們就通過具體的代碼示例,為大家詳細的介紹PHP中session實現記錄用戶登錄信息的具體方法。

1.簡單的登錄界面代碼示例:

login.html

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4  <meta charset="utf-8">
 5  <title>登錄</title>
 6  <style type="text/css">
 7   body {
 8    background: url(images/bg.png);
 9   }
10 
11   .clear {
12    clear: both;
13   }
14 
15   .login {
16    width: 370px;
17    margin: 100px auto 0px;
18    text-align: center;
19   }
20 
21   input[type="text"] {
22    width: 360px;
23    height: 50px;
24    border: none;
25    background: #fff;
26    border-radius: 10px;
27    margin: 5px auto;
28    padding-left: 10px;
29    color: #745A74;
30    font-size: 15px;
31   }
32 
33   input[type="checkbox"] {
34    float: left;
35    margin: 5px 0px 0px;
36   }
37 
38   span {
39    float: left;
40   }
41 
42   .botton {
43    width: 130px;
44    height: 40px;
45    background: #745A74;
46    border-radius: 10px;
47    text-align: center;
48    color: #fff;
49    margin-top: 30px;
50    line-height: 40px;
51   }
52  </style>
53 </head>
54 <body>
55 <div class="login">
56  <form action="check.php" method="post">
57   <img src="images/header.png"><br>
58   <input type="text" name="username" placeholder="請輸入用戶名!" value=""><br>
59   <input type="text" name="password" placeholder="請輸入密碼!" value=""><br>
60   <input type="submit" class="botton" value="login">
61  </form>
62  <div class="clear"></div>
63 </div>
64 </body>
65 
66 </html>

 

2.簡單的用於連接數據庫的PHP文件代碼示例:

db.php

 1 <?php
 2 
 3 $dbName = 'demo';
 4 $host = '127.0.0.1';
 5 $user = 'root';
 6 $password = 'root';
 7 
 8 $dsn = "mysql:host=$host;dbname=$dbName";
 9 $pdo = new PDO($dsn, $user, $password);
10 
11 function sql($table, $field = '*', $where = '')
12 {
13  global $pdo;
14  $sql = 'select' . ' ' . $field . ' ' . 'from' . ' ' . $table . ' where ' . $where;
15  $data = $pdo->query($sql)->fetch();
16  return $data;
17 }

 

這里我們定義了一個sql方法用來查詢數據庫表中字段,並返回數據。

那么如果有新手不清楚PHP連接數據庫的方法,可以參考學習一下【PHP怎么連接Mysql數據庫】的文章

 

3.檢驗用戶登錄信息的代碼示例:

check.php

 1 <?php
 2 session_start();
 3 include "db.php";
 4 @$name = $_POST['username'];
 5 @$pas = $_POST['password'];
 6 
 7 $row = sql('user', '*', "username = '$name'");
 8 if (!$row) {
 9  return "用戶名不存在!請檢查用戶名~~";
10 }
11 
12 if ($row['password'] == $pas) {
13  $_SESSION['username'] = "$name";
14  echo "<script>
15  alert('登錄成功!正在跳轉...')
16 </script>";
17  echo "<a href='index.php'>如果跳轉失敗請點擊跳轉~~</a>";
18  header("Refresh:1;url=index.php");
19 }

 

這里我們要開啟session,並用include引入數據庫,然后用if語句判斷查詢提交過來的數據並將用戶名提交給session來記錄,即判斷用戶名密碼是否存在及是否相等。

4.登錄成功后跳轉的頁面代碼示例:

index.php

<?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主頁面,顯示如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM