$ _SESSION变量的问题

时间:2012-06-20 15:55:11

标签: php session-variables

我第一次使用$ _SESSION变量,而我无法理解它的最新进展。我希望这段代码能够在每次按下“提交”按钮时更新计数器。它从零开始,在第一次点击后它更新为1.它然后卡在一个并且似乎没有更新过去。我已经遵循了几个例子,但我似乎无法找到解释为什么它表现得像这样。我究竟做错了什么?我相信这是一个相当基本的东西,但对于我的生活,我无法弄清楚它是什么。

提前感谢您的帮助!

 1 <?php
 2         session_start();
 3         $_SESSION['counter']=((!isset($_SESSION['counter']))? 0 : $_SESSION['counter']);
 4         if($_POST['submit']){
 5                 $_SESSION['counter']++;
 6         }
 7 ?>
 8 <html>
 9 <body>
10 <form  method = "post">
11         <input type="submit" name="submit" value = "Submit button" />
12 </form>
13         <div name = "content">
14                 <h3>Submit has been clicked <?php echo $_SESSION['counter'] ?> times</h3>
15         </div>
16 </body>
17 </html>

2 个答案:

答案 0 :(得分:1)

尝试此代码...我认为您在每次加载页面时都将计数器重置为0.

<?php
session_start();
if (!isset ($_SESSION['counter'])) {
  $_SESSION['counter'] = 0;
}
if (isset ($_POST['submit'])) {
  $_SESSION['counter']++;
}
?>

答案 1 :(得分:1)

它可能来自您$_SESSION['counter']的原始设置。

我会以不同的方式发起它:

if($_POST['submit'] && isset($_SESSION['counter'])){
        $_SESSION['counter']++;
}else{
        $_SESSION['counter'] = 0;
}