if(empty($_SESSION['count'])){
$_SESSION['count']=99;
}else{
$_SESSION['count']--;
}
echo $_SESSION['count'];
在Firefox中,我得到递减值,但在IE和Chrome中,它不会减少值并设置值。任何人都可以告诉问题是什么?在IE浏览器和谷歌浏览器中的会话问题不在Mozilla Firefox中
if(empty($_SESSION['count'])){
$_SESSION['count']=99;
}else{
$_SESSION['count']--;
}
echo $_SESSION['count'];
在Firefox中,我得到递减值,但在IE和Chrome中,它不会减少值并设置值。任何人都可以告诉问题是什么?在IE浏览器和谷歌浏览器中的会话问题不在Mozilla Firefox中
这似乎工作。请注意,我检查isset($ _ SESSION [ '临时'])这里,不为空($ _ SESSION [ '数']:
<?php
session_start();
if(!isset($_SESSION['temp'])){
$_SESSION['temp']=99;
}else{
$_SESSION['temp']--;
}
echo $_SESSION['temp'];
?>
我已经开始只是尝试在你的浏览器并回答我的问题兄弟... – K6t 2011-06-07 08:55:04
我纠正我的问题只是看到并告诉我答案 – K6t 2011-06-07 08:57:04
@echo“KarghiKeyan” - 有更多的_iHaveacomputer_的答案。他/她使用isset()而不是empty()并使用session_start()启动会话。顺便说一句“看到并告诉我答案”不是我用来从任何人那里得到帮助的短语...... – martinstoeckli 2011-06-07 09:12:58
PHP代码在服务器上运行,所以每一个浏览器中得到的结果相同。如果它适用于一个浏览器,但不适用于其他浏览器,则它们可能具有不同的设置,我会检查所有浏览器是否允许设置会话cookie,否则它们将在每次调用脚本时启动一个新会话。由于iHaveacomputer已经指出,功能empty()
将不会在您的示例中工作,因为它会将值0视为空值,因此开始以99计数。使用改为或array_key_exists()
。
该代码本身看起来不错;你有没有证实IE和浏览器的浏览器安全设置有适当的隐私设置,以允许PHP设置会话? – jlmcdonald 2011-06-07 05:03:56