【php增删改查实例】第十九节 - session的使用: 让服务器知道你是谁?

【php增删改查实例】第十九节 - session的使用: 让服务器知道你是谁?

因为HTTP请求是一种无状态的请求,所谓无状态,就是服务器不会记录下你本次请求的信息。http它是基于请求 - 相应模式的一种数据传输协议。就是说,你发送一个请求,我服务器给你一个响应,这件事情就算完了。无状态也就是一种无记忆的方式。

Session的作用就是,临时在服务器端记录下你用户的某些数据,方便用户在之后的操作中直接调用。

如果不用session的技术,那么用户不管做什么操作,都需要重新认证用户名和密码。

可是,如果用了session,只要用户浏览器不关,服务器就能够记住你的身份信息,以便之后的操作来调用。

Session的生命周期是和浏览器相关的,浏览器一旦关闭,那么服务器就会清除掉本次的session。

在本系统中,如何去运用这个session?

打开login2.php,在代码的最后,当用户登录验证成功后,我们就把用户名存放到session中去,保证之后的操作,服务器认为当前登录人的信息是有效的。

session_start(); // 使用session之前,我们必须要用session_start函数来开启session
$_SESSION["username"] = $username;

【php增删改查实例】第十九节 - session的使用: 让服务器知道你是谁?

回到login2.html中,把登录成功后的跳转地址改为 ../main.php

【php增删改查实例】第十九节 - session的使用: 让服务器知道你是谁?

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

【php增删改查实例】第十九节 - session的使用: 让服务器知道你是谁?

打开main.php

在这个文件的顶部,添加启用session的代码。

【php增删改查实例】第十九节 - session的使用: 让服务器知道你是谁?

然后在这个地方:

【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>

源码获取:https://www.jianshu.com/p/4977bd0073d5

上一篇:在CentOS上配置SAMBA共享目录(转载)


下一篇:【转】浅述WinForm多线程编程与Control.Invoke的应用