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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
配置PHP使之能同时支持GIF和JPEG
Oct 09 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
php银联网页支付实现方法
Mar 04 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 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入门之连接mysql数据库的一个类
2012/04/21 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
js实现蒙版效果
2020/01/11 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Pytorch之保存读取模型实例
2019/12/30 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
python 6行代码制作月历生成器
2020/09/18 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
开业庆典主持词
2014/03/21 职场文书
教师党员承诺书
2014/03/25 职场文书
2015年科普工作总结
2015/07/23 职场文书
七年级作文之环保作文
2019/10/17 职场文书
导游词之介休绵山
2019/12/31 职场文书
Python标准库之typing的用法(类型标注)
2021/06/02 Python