网站地图    收藏   

主页 > 入门引导 > php论文 >

最新PHPSession处理及应用实例_PHP论文

来源:自学PHP网    时间:2014-12-24 09:48 作者: 阅读:

[导读] 精品学习网为大家整理了PHPSession处理及应用实例,希望对大家有所帮助。...

2014-11-04

最新PHPSession处理及应用实例

精品学习网为大家整理了PHPSession处理及应用实例,希望对大家有所帮助。

传统的C/S系统中客户和服务器之间的协议是有状态的,其优点在于通过存储状态信息减少网络上的信息传输以提高效率。HTTP(超文本协议) 是一种无状态的协议,客户与服务器建立连接,服务器响应客户端的请求并把请求结果传送回客户端之后,这个连接也就断开了。由于网络上并不存在客户和服务器之间的持续连接,因此服务器通常总处在一种状态,服务器没有状态信息来识别同一客户发出的不同请求,也就是说客户的请求是独立的。对Web客户的反应不依赖于以前请求和反应消息的历史,这种无状态的协议只适合做简单的查询。在B/S程序设计中,为了完成特定的应用逻辑,常常需要保存用户的信息和业务的运行状态,这个要求HTTP无法做到。

为了解决这个问题,就需要程序员将用户识别和业务状态信息保存在复杂的URL和查询字符串中,或者使用Form的隐藏域(Hidden),或者使用Cookie将信息存放在Header 中来实现。使用这些方法虽然能够满足业务要求,但不利之处也很明显,它加大了网络的数据传输量 (笔者就遇到了要保存50~70项数据的情况);如果使用Cookie又受到客户浏览器是否支持Cookie 的限制;另外增加了程序开发的复杂度和工作量,程序编制显得非常不流畅。 Session就是用户一次会话的过程,当一个用户访问了网站后,用户的一次会话(Session)就开始了,在用户离开该网站时这次会话结束。SessionID 用来标识这次会话,它是由PHP随机生成并又用随机种子字串进行mds加密过了的唯一的32位 ID号,能够将所有的会话区分出来。在会话过程中,可以使用PHP函数sessfon-- register()注册Session变量,这些Session变量可以保存文本或数值信息。

注册一个Session变量后即可在随后的页面中使用它。Session变量是全局变量,在整个会话期内有效,随着会话的结束,Ses- sion变量也就消失了。服务器将SessionID随Web页一起传送到客户端,如果客户端浏览器支持Cookie的话,将使用 Cookie来保存SessionID。当用户的浏览器向服务器发送请求时会把SessionID放到header中,随同页面一起提交到服务器。这里的Cookie确切地说应称为SessionCookie。在服务器端,当PHP配置文件中,session--au- t见start=l或调用函数session_start()之后,PHP 将自动检查每个到达服务器的请求是否都含有 SessionID。

如果含有SessionID,就将这个Session ID先前保存的环境(例如Session的变量内容)重新构造、恢复,这时就可以使用先前保存的Session 变量了;如果请求页面中没有SessionID,PHP认为这次请求开始了一个新的会话过程,于是产生一个新的SessionID来标识这次会话。

以上就是PHPSession处理及应用实例,谢谢查阅。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论