欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

mvc php session,PHP Session入门教程

发布时间:2025/3/20 php 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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入门教程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。