- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
7.2PHPSession陈学平
012Session
2.1Session简介Session是什么Session一般译作会话,比方,在web应用的用户看来,他打开浏览器访问一个电子商务站点,登录、并完毕购物直到关闭浏览器,这是一个会话。
2.1Session简介Session的原理Session的基本原理是服务端为每个session维护一份会话信息数据,而client和服务端依靠一个全局唯一的标识(也就是sessionid)来访问会话信息数据。用户访问web应用时,服务端程序决定何时创建session。
2.1Session简介Sessionid的传递client和服务端之间的通信是通过sessionid建立联系的,那么sessionid是怎样传递的呢?用户端与服务端的web通信协议是http协议。而通过http取得用户数据惯用的三种方法各自是:POST方法、GET方法还有Cookie。而PHP默认传递方法正是Cookie,也是最佳方法。仅仅有在client不支持Cookie的时候(比方:浏览器禁用了Cookie功能)才会通过GET或POST方法来传递sessionid,即通过在URL的query_string部分传递sessionid。不建议使用GET方法传递參数,由于那样容易泄露信息。
2.1Session简介2.2php中如何启动Session会话Session的设置与Cookie不同,必须先行启动,在PHP中必须调用session_start()函数,以便让PHP核心程序将和Session相关的内建环境变量预先载入到内存中。
使用session_start()函数启动会话,语法格式如下的形式:
1session_start(void);//创建Session,开始一个会话,进行Session初始化
session_start()这个函数没有参数,且返回值均为TURE。该函数有两个主要的作用,仪式开始一个会话,而是返回已经存在的会话。
注意:通常,session_start()函数在页面开始位置调用,然后会话变量被登录到数据$_SESSION。
7.2.3php中如何注册和读取Session会话
2.1Session简介注册Session会话在php中使用Session变量,除了必须要启动,还要经过一个注册的过程,注册和读取Session变量,都要通过访问$_SESSION数组完成。必须在调用session_start()函数开启Session之后才能使用。与$HTTP_SESSION_VARS不同,$_SESSION总是具有全局的范围,因此不要对$_SESSION使用global关键字。在$_SESSION关联数组中的键名具有和PHP中普通变量名相同的命名规则。
会话变量被创建后,全部保存在数组$_SESSION中。通过数组$_SESSION创建一个会话变量很容易,只要直接给该数组添加一个元素就好了。
比如如下的实例会启动会话,创建一个Session变量并赋予一个空值,代码是如下的:
执行脚本以后,Session变量就会被保存在服务器端的某一个文件夹中。
2.1Session简介实例2Session注册会话实例代码如下:
上面的实例中Session注册了两个变量,如果在服务器中找到为该用户保存Session变量的文件,打开后可以看到如下的内容:
username|s:6:sky;uid|i:1:1;//保存用户Session中注册的两个变量的内容
2.1Session简介读取Session会话首先需要判断会话变量是否有一个会话ID存在,如果不存在,就创建一个,并且使其能够通过全局数组$_SESSION进行访问;如果已经存在,则将这个已经创建的会话变量载入以提供给用户使用。
例如:判断存储用户名的Session会话变量是否为空,如果不为空,则将该会话变量赋予$my_value,其代码显示如下:
实例3读取Session会话
实例代码如下:
下面给出一个完整的实例
2.1Session简介实例4session使用完整示例该实例由两个页面构成
实例代码如下:
session1.php
?php
if(isset($_POST[submit])){
session_start();//开始建立一个会话
$_SESSION[season]=$_POST[season];//存储会话数据
header(Location:session2.php);//应特别注意header()里的格式问题
2.1Session简介实例4session使用完整示例}
?
您可能关注的文档
- PHP程序设计基础(微课版)(第2版)课件 3.PHP final 关键字与类的接口.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.MYSQL数据库基本操作.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP cookie.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP超级全局变量.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP代码标记与注释.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP函数语法参数及返回值.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP类与对象.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP连接和选择数据库实现查询.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP留言本简介.pptx
- PHP程序设计基础(微课版)(第2版)课件 1.PHP数组概述、分类及声明.pptx
最近下载
- 小学数学百分数练习题(易错题).doc VIP
- 2024年法考学霸笔记民法.pdf
- 老旧小区改造监理实施细则.docx VIP
- ch07_accounting_information_system_considine4e_题库答案.docx VIP
- 碾压砼重力坝施工质量控制要点分析(建筑设计及理论论文资料).doc
- 规范《GA533-2012-挡烟垂壁》.pdf
- 心理健康--培训课件.ppt
- LabSOCS实验室无源效率刻度软件中文.pdf
- 《高等工程热力学及传热学》思考题参考答案.doc VIP
- (高清版)B/T 18266.5-2023 体育场所等级的划分 第5部分:滑雪场所星级划分及评定.pdf VIP
文档评论(0)