当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP中Session的概念

PHP
服务器端解压缩zip的脚本
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
PHP+JS无限级可伸缩菜单详解(简单易懂)
实例(Smarty+FCKeditor新闻系统)
影响PHP+MYSQL执行速度的写法对比
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
增加反向链接的101个方法 站长推荐
PHP音乐采集(部分代码)
用PHPdig打造属于你自己的Google[图文教程]
几篇关于无限分类算法的文章
解决GD中文乱码问题
浅析PHP水印技术
珊瑚虫IP库浅析
excellent!:ASCII Art(由目标图象生成ascii)
用PHP实现Ftp用户的在线管理的代码
可定制的PHP缩略图生成程式(需要GD库支持)
15种PHP Encoder的比较
利用discuz自带通行证整合dedecms的方法以及文件下载
用PHP 快速生成 Flash 动画的方法
六酷社区论坛HOME页清新格调免费版 下载

PHP中Session的概念


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 150 ::
收藏到网摘: n/a

什么是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。