我第一次使用$ _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>
答案 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;
}