vwin :首页
浅显基础教程
电脑操作教程
电脑怎样拨号上网
怎样做个人网页
怎样做局域网
Word教程(文字处理)
图形图象处理入门
经典进步教程
怎样运用代理服务器
怎样做无盘工作站
Photoshop教程
Dreamweaver教程
Flash教程
Firework教程
Frontpage2000教程
Authware教程
Office2000教程
怎样制造动画图片
OICQ&ICQ运用办法

高手学习攻略

硬件晋级技巧
CGI教程
ASP教程

PHP教程

注册表运用技巧
路由器的设置
vwin建造攻略
SQL
协作vwin
栏目制造月光软件
最近更新:
类别:vwin制造

□...php session运用初探
  经过试验发现,PHP4的session只对当时翻开的浏览器窗口有用(至少在W2K下的IE5和NS6中是这样)。

  试验过程:

  首要咱们来树立两个文件。

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, 唉,又要晋级服务器的软件了。:(

   
相关教程
怎样制造会移动的广告条
HEAD元素运用集锦(上)
制造浏览器地址栏&保藏夹里的小图标
将form内容转换成XML格局
php session运用初探
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
©月光工作室 专业栏目