温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在PHP中利用Session实现一个用户登陆功能

发布时间:2020-12-31 16:30:05 来源:亿速云 阅读:182 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关如何在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实现一个用户登陆功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI