IE和Google Chrome中的会话问题不在Mozilla Firefox中

时间:2011-06-07 04:58:46

标签: php session

if(empty($_SESSION['count'])){
    $_SESSION['count']=99; 
}else{
   $_SESSION['count']--;
}
echo $_SESSION['count'];

在Firefox中,我获得了减少的值,但在IE和Chrome中,它并没有递减值以及设置值。谁能说出问题是什么?

2 个答案:

答案 0 :(得分:0)

这似乎有效。请注意,我在这里检查isset($ _ SESSION ['temp']),而不是空($ _ SESSION ['count']:

<?php
session_start();

if(!isset($_SESSION['temp'])){
    $_SESSION['temp']=99; 
}else{
   $_SESSION['temp']--;
}
echo $_SESSION['temp'];

?>

答案 1 :(得分:0)

PHP代码在服务器上运行,因此每个浏览器都得到相同的结果。如果它适用于一个浏览器但不适用于其他浏览器,它们可能具有不同的设置。我会检查一下,所有浏览器都允许设置会话cookie,否则每次调用脚本时都会启动一个新会话。

正如 iHaveacomputer 已经指出的那样,函数empty()在你的例子中不起作用,因为它会将值0视为空,因此从99开始计数。使用{{ 1}}或isset()代替。