您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

使用无限生命期Session的方法

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

 


本文不敢说非常好,但是笔者相信大多数phper都曾经想过这些问题。

使用无限生命期session的方法
在php4.0中加入了对session的支持,方便了我们很多程序,比如购物车等等!
在很多论坛中,session也用于处理用户的登陆,记录下用户名和密码,使得用户不必每次都输入自己的用户名和密码!但是一般的session的生命期有限,如果用户关闭了浏览器,就不能保存session的变量了!那么怎么样可以实现session的永久生命期呢?
大家知道,session储存在服务器端,根据客户端提供的sessionid来得到这个用户的文件,然后读取文件,取得变量的值,sessionid可以使用客户端的cookie或者http1.1协议的query_string(就是访问的url的“?”后面的部分)来传送给服务器,然后服务器读取session的目录……

要实现session的永久生命期,首先需要了解一下php.ini关于session的相关设置(打开php.ini文件,在“[session]”部分):
1、session.use_cookies:默认的值是“1”,代表sessionid使用cookie来传递,反之就是使用query_string来传递;
2、session.name:这个就是sessionid储存的变量名称,可能是cookie,也可能是query_string来传递,默认值是“phpsessid”;
3、session.cookie_lifetime:这个代表sessionid在客户端cookie储存的时间,默认是0,代表浏览器一关闭sessionid就作废……就是因为这个所以session不能永久使用!
4、session.gc_maxlifetime:这个是session数据在服务器端储存的时间,如果超过这个时间,那么session数据就自动删除!
还有很多的设置,不过和本文相关的就是这些了,下面开始讲使用永久session的原理和步骤。

前面说过,服务器通过sessionid来读取session的数据,但是一般浏览器传送的sessionid在浏览器关闭后就没有了,那么我们只需要人为的设置sessionid并且保存下来,不就可以……
如果你拥有服务器的操作权限,那么设置这个非常非常的简单,只是需要进行如下的步骤:
1、把“session.use_cookies”设置为1,打开cookie储存sessionid,不过默认就是1,一般不用修改;
2、把“session.cookie_lifetime”改为正无穷(当然没有正无穷的参数,不过999999999和正无穷也没有什么区别);
3、把“session.gc_maxlifetime”设置为和“session.cookie_lifetime”一样的时间;
设置完毕后,打开编辑器,输入如下的代码:
------------------------------------------------------------------------------------
<?
session_start();
session_register('count');
$count++;
echo $count;
?>
------------------------------------------------------------------------------------
然后

[1] [2] [3] 下一页

在google里搜索更多使用无限生命期Session的方法

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明