首 页 网站运营 网络编程 网页制作 图象媒体 数据库 建站资源 网管专区 下载专区 最新资讯
IT学堂|红色黑客联盟
设为首页
加入收藏
联系站长
您所在的位置:首页>网络编程>PHP>文章内容
PHP4中的SESSION管理
来源: 作者: 发布时间:2007-04-12

 

PHP4的新特性中最引人注目就是对SESSION的管理功能.当别人访问你的站点时,你可以把变量保存到SESSION对象中,从而实现许多新的功能.
  
  
什么是SESSION
  
  
如果你还不太清楚,先我来解释一下什么是SESSION.一个SESSION在别人访问你的网站是开始,在他离开网站是结束.当然你也可以在程序里终止它.基本上,COOKIE与浏览器联系在一起的,一些服务器上的资源用来保存SESSION的变量.默认情况下,PHP4用文件来保存这些变量.当然,从理论上来讲,也可以用数据库或共享的内存来保存.
  
  
所有使用PHP4SESSION特性的网页都必须调用session_start()函数,PHP4引擎装入与SESSION相关的信息 到内存中.session_start函数会尝试从COOKIE或当前HTTP的请求的参数中寻找SESSIONID.如果没找到,就会建立一个新的SESSION对象.
  
  
什么是SESSION变量
  
  SESSION
的变量其实就是一个普通的全局变量.当以SESSION变量的方式注册(声明),所有使用PHP4SESSION功能的网页都可以访问它的值.要把一个变量注册为SESSION变量,只要先给这个变量赋值,然后调用session_register("变量名").在后续的使用SESSION功能(通过session_start)的网页中,"变量名"这个变量在无须重新注册为SESSION变量,它就一个普通的变量,而它的值就是前面赋给它的.在程序中改变这个变量的值,它会自动重新注册和保存,且在它后续的网页中可以正常使用.
  
  
那么,它能做什么呢?
  
  
问得好!有很多办法可以使用SESSION管理和SESSION变量.这里,我举一个例子来说明.假如你正在建立一个虚拟社区的站点,你可能要跟踪当前经过论证的用户名以及他有多少新的消息等信息.为了降低数据库的负载,你要用其他办法来保存这些信息.有两种办法:
  
  
使用三个COOKIE
  authenticatied_user -
当前经过论证的用户名
  num_message -
他有多少新的消息
  expire_time - COOKIE
的过期时限
  
使用SESSION,注册三个SESSION变量
  
第一个方法有很大的安全隐患,别人可以伪造COOKIE,然后用另一个帐号去访问系统.再说,所有的信息都通过HEADER()函数实现,比较麻烦.另外,当用户的浏览器拒绝接受其中的一个COOKIE,整个数据就不完整了.


  
  SESSION,只要一个COOKIE,就能保存所有的信息.安全性也好一点.
  
  
不足之处
  
  
使用任何服务器端的脚本语言,SESSION都可以提供一个非常自由,灵活和强大的功能.但在PHP4中的SESSION有一些限制: -不能把对象(Objects)本身保存在SESSION -保存在SESSION里的数据的效率不是很高,因为PHP4用文件来保存SESSION的信息.
  




[推荐] [返回顶部] [打印本页] [关闭窗口]
热点文章
·十天学会php之第七天
·十天学会php之第八天
·十天学会php之第九天
·十天学会php之第十天
·Php高手带路--问题汇总解答
·PHP初学者头疼问题总结
·利用PHP和AJAX创建RSS聚合器
·Web开发源代码:PHP生成静态页面的类
·用PHP实现ODBC数据分页显示一例
·PHP与Javascript的两种交互方式
相关文章
·PHP4调用自己编写的COM组件
·php编写大型网站问题集
·PHP: 网 站 维 护 轻 松 了
·php和js交互一例
·PHP 缓冲的免费实现方法
·PHP文本数据库的搜索方法
·for的高级运用
·PHP--进行模块化设计
·Cookie的作用
·管理小型的邮件列表
文章检索
Google
相关文章
·PHP4调用自己编写的COM
·php编写大型网站问题集
·PHP: 网 站 维 护 轻
·php和js交互一例
·PHP 缓冲的免费实现方法
·PHP文本数据库的搜索方
·for的高级运用
·PHP--进行模块化设计
·Cookie的作用
·管理小型的邮件列表
·PHP的十个高级技巧(下
·简单的页面缓冲技术(一
·PHP的十个高级技巧(上
·简单的页面缓冲技术(二
·正则表达式使用详解(二