PHP中Session的概念


Posted in PHP onOctober 09, 2006

什么是Session呢?Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。
  需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器中建立连接时所处的Sessions是两个不同的Session。
  那什么是Session的解决方案呢?我们知道,用户访问一个网站时往往需要浏览许多网页。对于一个通过PHP构筑的网站来说,用户在访问的过程中需要执行许多的PHP脚本。然而由于HTTP协议自身的特点,用户每执行一个PHP脚本都需要和Web服务器重新建立连接。又由于无状态记忆的特点,此次连接无法得到上次连接的状态。这样,用户在一个PHP脚本中对一个变量进行了赋值操作,而在另外一个PHP脚本中却无法得到这个变量的值。例如,用户在负责登录的PHP脚本中设置了$user="wind",却无法在另一个PHP脚本中通过调用$user来获得“wind”这个值。也就是说,在PHP中无法设置全局变量。每个PHP脚本中所定义的变量都是只在这个脚本内有效的局部变量。
  Session解决方案,就是要提供在PHP脚本中定义全局变量的方法,使得这个全局变量在同一个Session中对于所有的PHP脚本都有效。上面我们提到了,Session不是一个简单的时间概念,一个Session中还包括了特定的用户和服务器。因此更详细地讲,在一个Session定义的全局变量的作用范围,是指这个Session所对应的用户所访问的所有PHP。
  例如A用户通过Session定义了一个全局变量$user=“wind”中,而B用户通过Session定义的全局变量$user=“jane”。那么在A用户所访问的PHP脚本中,$user的值就是wind。

PHP 相关文章推荐
php部分常见问题总结
Mar 27 PHP
PHP Ajax中文乱码问题解决方法
Feb 27 PHP
preg_match_all使用心得分享
Jan 31 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
PHP代码优化技巧小结
Sep 29 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
虚拟主机中对PHP的特殊设置
Oct 09 #PHP
用Flash图形化数据(二)
Oct 09 #PHP
用php来检测proxy
Oct 09 #PHP
如何将一个表单同时提交到两个地方处理
Oct 09 #PHP
PHP制作图型计数器的例子
Oct 09 #PHP
多php服务器实现多session并发运行
Oct 09 #PHP
提升PHP速度全攻略
Oct 09 #PHP
You might like
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php实现异步数据调用的方法
2015/12/24 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
微信支付开发交易通知实例
2016/07/12 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
修复ie8&chrome下window的resize事件多次执行
2011/10/20 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
python list元素为tuple时的排序方法
2018/04/18 Python
flask中过滤器的使用详解
2018/08/01 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
Python图像读写方法对比
2020/11/16 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
银行存款证明样本
2014/01/17 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
文明城市标语
2014/06/16 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
学校重阳节活动总结
2015/03/24 职场文书
初中重阳节活动总结
2015/05/05 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
Python 键盘事件详解
2021/11/11 Python