【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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林冠宏的技术文章

浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!

由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号。有所收获。这里总结下个人经验。 开讲前,先吐槽一下新浪云服务器,一个程序里的   同一个函数  ...

81410
来自专栏进击的君君的前端之路

git

1755
来自专栏惨绿少年

OpenSUSE 服务器系统部署

1、准备 1.1 下载系统 下载地址:https://software.opensuse.org/distributions/leap     目前的最新版本为...

4027
来自专栏青青天空树

linux下安装nodejs及npm

官网下载npm安装包,https://nodejs.org/en/,左边是稳定版右边是最新版。

1592
来自专栏Python攻城狮

Python开发环境搭建1.下载及安装2.一台PC安装多个python版本3.python2和python3版本共存的配置4. pip安装模块时执行的命令5.给python安装第三方模块6.查看pip

现在python3是趋势,很多公司已经逐渐使用python3,但是对于爬虫来说,我们现在仍需用2.7,所以现在我们安装Python2.7.9版本

1003
来自专栏我和PYTHON有个约会

04.多版本Python共存的配置和使用

但是由于工作需要,我们的个人PC上可能需要多个python版本共存,应该进行什么样的设置呢,本章内容就针对这个问题进行分析和使用的介绍

921
来自专栏雨过天晴

原 CentOS(亚马逊EC2,亚马逊班)

1483
来自专栏Java后端生活

Linux(十七)动态监控进程

1975
来自专栏Ken的杂谈

CentOS 7 下 GitLab安装部署教程

GitLab一个开源的git仓库管理平台,方便团队协作开发、管理。在GitLab上可以实现完整的CI(持续集成)、CD(持续发布)流程。而且还提供了免费使用的P...

3653
来自专栏IT笔记

Redis使用过程中的一些常用命令汇总

最近购买了Redis做论坛session存储和缓存实现,本身项目中也使用了Redis做分布式集群session管理,抽空整理一下常用到的命令集合(随时更新)。 ...

2714

扫码关注云+社区

领取腾讯云代金券