使用原会话

ZDNet软件频道 时间:2004-05-21 作者:Builder.com |  我要评论()
本文关键词:phptips
个被大家长期所期待的PHP 4.0特性是会话支持。相比之下,PHP 3.0用户则不得不使用第三方库或根本不能实现此项功能。而缺乏会话支持则正是PHP最受人批评的地方。不过,从早期测试版的发布开始,会话支持就成为PHP 4.0的一部分,因此这个问题也得到了消除
本文译自Builder.com,未经许可请勿转载

一个被大家长期所期待的PHP 4.0特性是会话支持。相比之下,PHP 3.0用户则不得不使用第三方库或根本不能实现此项功能。而缺乏会话支持则正是PHP最受人批评的地方。不过,从早期测试版的发布开始,会话支持就成为PHP 4.0的一部分,因此这个问题也得到了消除。

你可以通过会话以在用户访问网络站点期间维持用户特定变量,而无须设置多个cookie、使用隐蔽表单域,或在你可能经常要连结的一个数据库内存储信息等。

在一个页面上启动会话即告之PHP引擎要么是要开始一个会话(如果之前没有启动)或是继续当前会话:

session_start();

启动一个会话将通过cookie向用户发送一个认证字符串(如940f8b05a40d5119c030c9c7745aead9);而在服务器端则会创建一个同名的相映临时文件,如sess_940f8b05a40d5119c030c9c7745aead9。此文件包含了注册会话变量及其值。

显示会话动作最常见的例子是访问计数器:

启动你的PHP模块,并完全确保PHP代码是文件的第一行:无空白、无HTML输出等任何代码。原因是会话函数发出一个文件头时,如在调用session_start()函数之前发送了空白或者HTML输出,系统将会出错。

<?

//如果会话对用户并不存在,启动一新会话

session_start();

接下来,注册count变量。

session_register('count');

注册变量即告之PHP:只要在会话存在时,一个名叫count的变量也就存在。目前此变量还没有赋值。不过,如果你对其加1,则值即可被赋为1:

$count++;


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134