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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
PHP字符转义相关函数小结(php下的转义字符串)
Apr 12 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
php中使用临时表查询数据的一个例子
Feb 03 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
smarty中post用法实例
Nov 28 PHP
PHP实现的购物车类实例
Jun 17 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
Oct 10 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
PDO::inTransaction讲解
Jan 28 PHP
PHP字符串与数组处理函数用法小结
Jan 07 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加密解密类代码
2011/11/27 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
PHP代码加密的方法总结
2020/03/13 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
Python创建模块及模块导入的方法
2015/05/27 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
详解Python 解压缩文件
2019/04/09 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
css3中transition属性详解
2014/09/02 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
经理秘书找工作求职信
2013/12/19 职场文书
新闻专业个人求职信
2013/12/19 职场文书
《值日生》教学反思
2014/02/17 职场文书
旷课检讨书范文
2015/01/27 职场文书
python中 .npy文件的读写操作实例
2022/04/14 Python