
因为HTTP请求是一种无状态的请求,所谓无状态,就是服务器不会记录下你本次请求的信息。http它是基于请求 - 相应模式的一种数据传输协议。就是说,你发送一个请求,我服务器给你一个响应,这件事情就算完了。无状态也就是一种无记忆的方式。
Session的作用就是,临时在服务器端记录下你用户的某些数据,方便用户在之后的操作中直接调用。
如果不用session的技术,那么用户不管做什么操作,都需要重新认证用户名和密码。
可是,如果用了session,只要用户浏览器不关,服务器就能够记住你的身份信息,以便之后的操作来调用。
Session的生命周期是和浏览器相关的,浏览器一旦关闭,那么服务器就会清除掉本次的session。
在本系统中,如何去运用这个session?
打开login2.php,在代码的最后,当用户登录验证成功后,我们就把用户名存放到session中去,保证之后的操作,服务器认为当前登录人的信息是有效的。
session_start(); // 使用session之前,我们必须要用session_start函数来开启session
$_SESSION["username"] = $username;


把这里的main.html后缀名改为.php

打开main.php
在这个文件的顶部,添加启用session的代码。
然后在这个地方:

超级管理员不能在页面里面写死,而应该用php代码获取session中的username,贴到这个地方。
把超级管理员替换成以下代码:
<?php echo $_SESSION["username"]; ?>
把存放到session中的username贴过来。
现在还有一个问题,如果用户没有登录,也可以访问到main.php页面,这是不对的。
那如何去判断用户是否登录呢?是不是只要去看session的username存在还是不存在?
如果session当中没有username,那么就跳转到登录界面。
<script type="text/javascript">
<?php
if(!isset($_SESSION["username"])){
echo "location.href='login/login2.html';";
}
?>
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)