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 empty函数 使用说明
Aug 10 PHP
判断是否为指定长度内字符串的php函数
Feb 16 PHP
PHP中文件上传的一个问题
Sep 04 PHP
php学习之function的用法
Jul 14 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 PHP
php登录超时检测功能实例详解
Mar 21 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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
一个odbc连mssql分页的类
2006/10/09 PHP
php5 mysql分页实例代码
2008/04/10 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
PHP中的session安全吗?
2016/01/22 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
php源码的安装方法和实例
2019/09/26 PHP
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
vue实现选中效果
2020/10/07 Javascript
浅谈Python 中整型对象的存储问题
2016/05/16 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Python中format()格式输出全解
2019/04/12 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
诚信承诺书范文
2014/03/27 职场文书
教师党员个人整改措施
2014/10/27 职场文书
初三语文教学计划
2015/01/22 职场文书
电影建党伟业观后感
2015/06/01 职场文书
创业计划书之熟食店
2019/10/16 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android