首 页 | 科技新闻 | 科学探索 | 技术学院 | 网络管理 | 企业专题 | 趋势报道 | 生命科学 | 创新企业
您现在的位置: 火爆网 > 科技 > 技术学院 > 网页设计 > 文章正文
php session使用初探
php session使用初探
2008-3-12  来源:网友提供  作者:网友提供
实验步骤:

  首先我们来建立两个文件。

test1.php

session_start();

session_register("count");

echo $count=0;

?>

test2.php

session_start();

echo $count++;

?>

  然后为了避免不必要的影响我们清空浏览器的cache,打开两个浏览器窗口,在第二个浏览器的窗口中执行test1.php,这时我们应该看到浏览器中显示的值是0。继续在第二个浏览器的窗口中执行test2.php,并不断的刷新它,我们就会看到浏览器中的数值在不断的递增,这说明我们的session是起作用的。我们继续看看其他的情况,先在第一个浏览器的窗口中执行test2.php,没有显示继续刷新,仍没有显示。我们再打开第三个浏览器窗口并在其中执行test2.php,也是没

有显示,这说明session不能跨窗口运行。

  那么怎么才能让session可以跨窗口执行呢?我们一起来继续我们的实验。

  首先,我们来看看使用cookie的情况,同样建立两个文件。

test3.php

setcookie("cookie","This is a cookie.",time()+3600,"/","www.md.hl.cn");

?>

test4.php

echo $cookie;

?>

然后我们仍然利用刚才打开的三个浏览器的窗口,先在第二个窗口中执行test3.php。没有任何显示,然后我们在三个窗口中分别执行test4.php,都会显示This is a cookie.这说明使用cookie是可以跨窗口执行的。

  我们怎么才能让session跨窗口执行呢?其实session也在cookie中保存了session_id(不过session也可以不使用cookie,但这不在本文的讨论范围)。这个cookie的名字与你在php.ini中的session.name的设置有关,缺省时叫"PHPSESSID"。但在IE的cache中却找不到。你可以通过echo $HTTP_COOKIE_VARS["PHPSESSID"]来查看它的值,当然也可以通过setcookie()来设置它。PHP4中可以使用session_set_cookie_params()和session_get_cookie_params()来设置和查看session的cookie设置。但我试了一下不起任何作用,session仍然是关闭浏览器窗口就失效,仍然不能跨窗口运行。我想也许是我调用的方法不对,麻烦那位高手知道给指点一下。

  最后,我们来继续完成我们的实验。这次要修改我们的文件test1.php

test1.php

session_start();

session_register("count");

setcookie("PHPSESSID",session_id(),time()+3600,"/","www.md.hl.cn");

echo $count=0;

?>

  然后我们再来重复我们的实验一,哈哈,这次session可以跨窗口使用了吧,并且关闭浏览器session也不会马上失效,上例中的session应该是1小时后失效,但在做实验二时,我吧3600改成120,查看IE的cache,此cookie是2分钟后到期,但不停的刷新test4.php发现实际$cookie这个变量存在的时间却只有大约6秒中,不知道到底是怎么回事。:(麻烦那位高手知道给指点一下。

  后记:这篇文章的所有程序是在Solaris 2.6,PHP 4.0.0,Apache 1.3.12下测试并通过的。

但写完这篇文章以后我又在Windows 2000 Advanced Server,PHP 4.0.1pl2,IIS 5.0测试了一

遍,发现PHP 4.0.1pl2中的session可以跨窗口运行,而且也可以用用session_set_cooie_params()设置session cookie的失效时间。所以我想上面的问题也许只是PHP 4.0.0的一个bug, 唉,又要升级服务器的软件了。


火爆网编辑:lijiajerry 查看和发表评论
>> 与《php session使用初探》相关的文章
WAMP环境的搭建
国内PHP论坛程序杂谈
LAMP组合势不可挡 两年后市场占有率最高
PHP:web编程界的巨无霸 目标直指Java.Net等大腕
我也说两句    
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用火爆网服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 姓 名: * 评 分: 1分 2分 3分 4分 5分
    内 容:
     
    网页设计基础知识
    网页设计基础知识
    阅读排行
    ·Fireworks 9亲密接触·Fireworks 9亲密接触
    ·Fireworks 9 亲密接·在网站内加入RSS功能
    ·有关HTML代码的另类·Dreamweaver网页制作
    ·设计干净的链接·ASP.NET 程序中常用
    ·Java连接各种数据库·rss订阅原理
    热点排行
    ·Java连接各种数据库·rss订阅原理
    ·在网站内加入RSS功能·ASP.NET 程序中常用
    ·Dreamweaver网页制作·Fireworks 9亲密接触
    ·Fireworks 9亲密接触·Fireworks 9 亲密接
    ·设计干净的链接·有关HTML代码的另类
    体育推荐
    ·火箭取篮网收割19连·费德勒海宁前景相似
    ·火箭登上西部第三·60米栏刘翔摘金
    ·火箭轻取17连胜·王楠横扫朝鲜头牌
    ·切尔西3-0完胜晋级8·弗格森进八强却称失
    ·世乒赛十佳图·中国男乒4连冠
    娱乐推荐
    ·巩俐周迅芝华士大拼性·9+2音乐先锋榜揭晓
    ·李准基粉丝录制生日VC·《婚礼2008》让你笑“
    ·港媒夸何洁唱功超越蔡·何洁武汉跨江签新片 万
    ·林志玲自曝内心小秘密·宋丹丹:我以后就不上春
    ·李贞贤《千面女孩》嫁·Beyond有望重聚