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 相关文章推荐
计数器详细设计
Oct 09 PHP
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
php摘要生成函数(无乱码)
Feb 04 PHP
php5.5新数组函数array_column使用
Jul 08 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 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按行读取文件时删除换行符的3种方法
2014/05/04 PHP
destoon官方标签大全
2014/06/20 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
JS跨域问题详解
2014/11/25 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
Django Admin中增加导出Excel功能过程解析
2019/09/04 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
毕业生实习鉴定
2013/12/11 职场文书
高中美术教学反思
2014/01/19 职场文书
预备党员综合考察材料
2014/05/31 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
小学校长个人总结
2015/03/03 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python