mvc php session,PHP Session入门教程
Session 存储在服务端,本质上和 Cookie 没有区别,都是针对 HTTP 协议的局限性而提出的一种保持客户端和服务端间会话状态的机制。
Session 经常用来在网站的上下文间实现页面变量的传递、用户身份认证、程序状态记录等,常见的有配合 Cookie 使用、实现保存用户的登录状态或者记录用户的购物下单信息等。
在使用 Session 之前必须先开启 Session,可使用 session_start() 开启 Session,同 Cookie 一样,在开始之前不能有任何输出内容,否则会出现如下警告:
Warning: session_start(): Cannot send session cookie - headers already sent
也可以修改 php.ini 中的session.auto_start=0为session.auto_start=1,设置自动开启 Session 支持,这样就不必每次在使用 Session 的时候都加上 session_start() 了。
Session 的设置非常简单,可以直接使用以下形式:
$_SESSION[key]=value
其中 key 表示 Session 的键,所有设置的 Session 都存储在全局数组 $_SESSION 中。
当在代码中设置了 Session 时,在 HTTP 请求的消息头中会携带一个名为 PHPSESSID 的 Cookie,其值是一个 32 位十六进制的字符串。每个客户端向服务器请求时都会产生一个不同的值,如果清除浏览器的 Cookie,再次刷新页面时将会重新设置一个 PHPSESSID 的值。
服务端接收到这个 Cookie,根据其值在服务器中找到对应的 Session 文件,从而实现保持与客户端链接状态的信息,其中 Session 中存储着序列化的 Session 键值等信息。
设置了 Session 的 HTTP 请求消息头如下:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:PHPSESSID=4680c9df2ce9ac4d1aa7f366bd92d83a
Host:localhost
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
如果读者想深入学习 Session,可以继续阅读:
mvc php session,PHP Session入门教程相关推荐
- Weblogic10 + EJB3入门教程(1):编写第一个无状态会话Bean(Stateless Session Bean)...
在本文主要介绍如何来开发一个Stateless Session Bean,并在未安装WebLogic10的机器上访问Session Bean.开发EJB3 Stateless Session Bean ...
- ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用
原文:ASP.NET Core 入门教程 2.使用ASP.NET Core MVC框架构建Web应用 一.前言 1.本文主要内容 使用dotnet cli创建基于解决方案(sln+csproj)的项目 ...
- springboot 入门教程(4)--web开发(spring mvc和Thymeleaf模板,带源码)
2019独角兽企业重金招聘Python工程师标准>>> 首先回顾下前几篇的内容:springboot 入门教程(1),springboot 入门教程-Thymeleaf(2), sp ...
- java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序
[Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...
- ASP.NET MVC 5 入门教程 (2) 控制器Controller
原文:ASP.NET MVC 5 入门教程 (2) 控制器Controller 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get ...
- ASP.NET MVC 5 入门教程 (3) 路由route
文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-route.html 上一节:ASP.NET MVC 5 入门 ...
- Asp.net MVC使用Filter解除Session, Cookie等依赖
本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景. 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖. 如果大家有 ...
- ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门 1
ASP.NET Core 入门教程 6.ASP.NET Core MVC 视图布局入门 原文:ASP.NET Core 入门教程 6.ASP.NET Core MVC 视图布局入门 一.前言 1.本教 ...
- 【转载】PHP.INI配置:Session配置详细说明教程
网上有很多PHP.INI文件配置的中文说明,但是对于PHP初学者来说在进行PHP运行环境搭建配置时还是容易一头雾水,今天换一种角度来分享如何进行php.ini配置,以求达到解决实际问题的效果,开篇以P ...
- .NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比
在上一篇的.NET轻量级MVC框架:Nancy入门教程(一)--初识Nancy中,简单介绍了Nancy,并写了一个Hello,world.看到大家的评论,都在问Nancy的优势在哪里?和微软的MVC比 ...
最新文章
- Openstack组件部署 — Nova_Install and configure a compute node
- SecureCRT安装的注意事项
- 中大型网站技术架构演变过程
- 序列密码体制(python随机数密码,RC4,线性反馈移位寄存器
- 大剑无锋之你所知道的列式数据库有哪些?列式数据库的好处在哪?【面试推荐】
- 读取xml文件转成ListT对象的两种方法(附源码)
- 【原创】leetCodeOj --- Find Peak Element 解题报告
- 【C++】凯撒密码 实现加密与解密
- codemirror实现SQL代码自动提示功能
- 将Excel数据导入到MySQL数据库
- 爬虫国际统计局省市区
- MAMP(win) Apache启动失败__句柄无效。 : master_main: create child process failed. Exiting.
- Unsupported operation: dart:isolate is not supported on dart4web
- 因为此版本的应用程序不支持其项目类型(.csproj)”之解
- 职业选手cfg文件怎么用_游戏id不会取?看看职业选手怎么取id吧!都是满满的干货...
- 问题备忘: httpclient连接池异常引发的惨案
- 解决VS在Release下编译程序报“应用程序无法启动,应用程序的并行配置不正确”的问题
- 金秋去哪儿:黑龙潭喊你带着爸妈免费去登山赏红叶
- linux dd命令制作软盘,【Linux】dd命令操作磁盘与镜像
- 电子信息工程专业就业形势分析