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

Posted 分享创造快乐,技术成就梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php增删改查实例第十九节 - session的使用: 让服务器知道你是谁?相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

技术分享图片

回到login2.html中,把登录成功后的跳转地址改为 ../main.php
技术分享图片
把这里的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>

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









以上是关于php增删改查实例第十九节 - session的使用: 让服务器知道你是谁?的主要内容,如果未能解决你的问题,请参考以下文章

php增删改查实例第十七节 - 用户登录

php增删改查实例第十八节 - login.php编写

php增删改查实例第一节 - PHP开发环境配置

php增删改查实例第五节 - easyUI的基本使用

php增删改查实例第二十三节 - PHP文件上传

php增删改查实例第七节 - 部门管理模块(画一个datagrid表格)