PHP實現用session來實現記錄用戶登陸信息

 更新時間:2018年10月15日 14:22:30   投稿:laozhang   我要評論

在本篇文章里我們給大家分享了關于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"><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.登錄成功后跳轉的頁面代碼示例:

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

本篇文章就是關于PHP中session來實現記錄用戶登錄信息的具體方法介紹,具有一定的參考價值,希望對需要的朋友有所幫助!

相關文章

  • PHP兩個n位的二進制整數相加問題的解決

    PHP兩個n位的二進制整數相加問題的解決

    這篇文章主要為大家詳細介紹了PHP兩個n位的二進制整數相加問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • thinkPHP3.2.3實現阿里大于短信驗證的方法

    thinkPHP3.2.3實現阿里大于短信驗證的方法

    這篇文章主要介紹了thinkPHP3.2.3實現阿里大于短信驗證的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • Laravel實現數據庫遷移與支持中文的填充

    Laravel實現數據庫遷移與支持中文的填充

    最近在學習Laravel數據庫方面的內容,發現了一些資料不錯整理出來分享給大家,下面這篇文章主要給大家介紹了關于Laravel實現數據庫遷移與支持中文填充的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-11-11
  • 使用ob系列函數實現PHP網站頁面靜態化

    使用ob系列函數實現PHP網站頁面靜態化

    php頁面緩存主要用到的是ob系列函數,如ob_start(),ob_end_flush(),ob_get_contents() ,今天我們來談談使用這些函數來實現php網站頁面靜態化
    2014-08-08
  • PHP學習筆記(二):變量詳解

    PHP學習筆記(二):變量詳解

    這篇文章主要介紹了PHP學習筆記(二):變量詳解,本文講解了PHP變量簡介、變量數據類型、常用函數、變量聲明方法等內容,需要的朋友可以參考下
    2015-04-04
  • PHP制作萬年歷

    PHP制作萬年歷

    本文主要介紹了使用PHP制作萬年歷的方法以及實現此功能的幾個要點并提供了全部源代碼,這里推薦給小伙伴們
    2015-01-01
  • 雙冒號 ::在PHP中的使用情況

    雙冒號 ::在PHP中的使用情況

    前幾天在百度知道里面看到有人問PHP中雙冒號::的用法,當時給他的回答比較簡潔因為手機打字不大方便!今天突然想起來,所以在這里總結一下我遇到的雙冒號::在PHP中使用的情況
    2015-11-11
  • cookie的優化與購物車實例

    cookie的優化與購物車實例

    下面小編就為大家帶來一篇cookie的優化與購物車實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Django 標簽篩選的實現代碼(一對多、多對多)

    Django 標簽篩選的實現代碼(一對多、多對多)

    這篇文章主要介紹了Django 標簽篩選的實現代碼(一對多、多對多),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • PHP實現留言板功能的詳細代碼

    PHP實現留言板功能的詳細代碼

    這篇文章主要為大家詳細介紹了PHP實現留言板功能的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論

辽宁35选7开奖结果