PHP Session无法在主页上运行

时间:2014-11-25 16:08:00

标签: php session

所以我尝试在PHP中添加会话。我的网站有2页index.php和page.php index.php中的脚本是

<?php
if(!isset($_SESSION)){
    session_start();
}
if (isset($_SESSION['counter'])) {
    $_SESSION['counter']++;
} else {
    $_SESSION['counter'] = 1;
}
echo $_SESSION['counter']."<br>";
?>
<html>
<body>
<a href="page.php">Go to page</a>
</body>
</html>

并且page.php中的脚本是

<?php
if(!isset($_SESSION)){
    session_start();
}
if (isset($_SESSION['counter'])) {
    $_SESSION['counter']++;
} else {
    $_SESSION['counter'] = 1;
}
echo $_SESSION['counter']."<br>";
?>
<html>
<body>
<a href="index.php">Go to index</a>
</body>
</html>

当我打开index.php时,它打印计数器为1.我重新加载它几次,计数器得到很好的增加。然后,如果我继续使用page.php,它会显示正确的计数器值(最后在index.php + 1中看到的值)。我也重新加载那个页面几次,计数器仍然正常增加。但是,如果我现在继续使用index.php,它会将计数器显示为1,它应该显示在page.php + 1中显示的值lats

在我看来会话变量被破坏然后又开始了。我不希望这种情况发生。有关如何纠正它的任何线索?非常感谢任何帮助...

1 个答案:

答案 0 :(得分:1)

在使用$_SESSION之前,您应该start session。在您需要使用session_start();页面的页面的顶部写下$_SESSION。你需要开始会话page.php&amp;使用index.php之前的$_SESSION页面无需使用isset()启动会话。像这样:

session_start();
if (isset($_SESSION['counter'])) {
    $_SESSION['counter']++;
} else {
    $_SESSION['counter'] = 1;
}
echo $_SESSION['counter']."<br>";