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创建PDF中文文档
Oct 09 PHP
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
Jan 16 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 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 fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
JavaScript中的闭包
2016/02/24 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
js实现内置计时器
2019/12/16 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
老生常谈python中的重载
2018/11/11 Python
Python下简易的单例模式详解
2019/04/08 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
秘书英文求职信
2014/04/16 职场文书
5s推行计划书
2014/05/06 职场文书
企业形象策划方案
2014/05/29 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
党员民主评议个人总结
2014/10/20 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
人民调解协议书
2016/03/21 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书