0

我第一次使用 $_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>
4

2 回答 2

1

试试这个代码......我认为你在每次页面加载时都将你的计数器重置为 0。

<?php
session_start();
if (!isset ($_SESSION['counter'])) {
  $_SESSION['counter'] = 0;
}
if (isset ($_POST['submit'])) {
  $_SESSION['counter']++;
}
?>
于 2012-06-20T16:00:29.680 回答
1

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

我会以不同的方式启动它:

if($_POST['submit'] && isset($_SESSION['counter'])){
        $_SESSION['counter']++;
}else{
        $_SESSION['counter'] = 0;
}
于 2012-06-20T16:01:40.410 回答