這期內容當中小編將會給大家帶來有關如何在PHP中利用Session實現一個用戶登陸功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
啟動 Session 會話,并創建一個 $admin 變量:
復制代碼 代碼如下:
<?php
// 啟動 Session
session_start();
// 聲明一個名為 admin 的變量,并賦空值。
$_SESSION["admin"] = null;
?>
undefined
undefined
復制代碼 代碼如下:
admin|N;
undefined
復制代碼 代碼如下:
變量名|類型:長度:值;
undefined
undefined
undefined
復制代碼 代碼如下:
<?php
// 表單提交后...
$posts = $_POST;
// 清除一些空白符號
foreach ($posts as $key => $value) {
$posts[$key] = trim($value);
}
$password = md5($posts["password"]);
$username = $posts["username"];
$query = "SELECT `username` FROM `user` WHERE `password` = '$password' AND `username` = '$username'";
// 取得查詢結果
$userInfo = $DB->getRow($query);
if (!empty($userInfo)) {
// 當驗證通過后,啟動 Session
session_start();
// 注冊登陸成功的 admin 變量,并賦值 true
$_SESSION["admin"] = true;
} else {
die("用戶名密碼錯誤");
}
?>
undefined
復制代碼 代碼如下:
<?php
// 防止全局變量造成安全隱患
$admin = false;
// 啟動會話,這步必不可少
session_start();
// 判斷是否登陸
if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) {
echo "您已經成功登陸";
} else {
// 驗證失敗,將 $_SESSION["admin"] 置為 false
$_SESSION["admin"] = false;
die("您無權訪問");
}
?>
undefined
undefined
復制代碼 代碼如下:
<?php
session_start();
// 這種方法是將原來注冊的某個變量銷毀
unset($_SESSION['admin']);
// 這種方法是銷毀整個 Session 文件
session_destroy();
?>
undefined
undefined
undefined
我們來手動設置 Session 的生存期:
復制代碼 代碼如下:
<?php
session_start();
// 保存一天
$lifeTime = 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
?>
undefined
復制代碼 代碼如下:
<?php
// 保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["admin"] = true;
?>
undefined
undefined
復制代碼 代碼如下:
<?php
// 保存一天
$lifeTime = 24 * 3600;
// 取得當前 Session 名,默認為 PHPSESSID
$sessionName = session_name();
// 取得 Session ID
$sessionID = $_GET[$sessionName];
// 使用 session_id() 設置獲得的 Session ID
session_id($sessionID);
session_set_cookie_params($lifeTime);
session_start();
$_SESSION['admin'] = true;
?>
undefined
復制代碼 代碼如下:
<?php
// 設置一個存放目錄
$savePath = './session_save_dir/';
// 保存一天
$lifeTime = 24 * 3600;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
$_SESSION['admin'] = true;
?>
undefined
undefined
person.php
復制代碼 代碼如下:
<?php
class person {
var $age;
function output() {
echo $this->age;
}
function setAge($age) {
$this->age = $age;
}
}
?>
setage.php
復制代碼 代碼如下:
<?php
session_start();
require_once 'person.php';
$person = new person();
$person->setAge(21);
$_SESSION['person'] = $person;
echo '<a href='output.php'>check here to output age</a>';
?>
output.php
復制代碼 代碼如下:
<?php
// 設置回調函數,確保重新構建對象。
ini_set('unserialize_callback_func', 'mycallback');
function mycallback($classname) {
include_once $classname . '.php';
}
session_start();
$person = $_SESSION['person'];
// 輸出 21
$person->output();
?>
undefined
undefined
上述就是小編為大家分享的如何在PHP中利用Session實現一個用戶登陸功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。