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