Php $u会话变量的问题

Php $u会话变量的问题,php,session-variables,Php,Session Variables,我第一次使用$\u会话变量,我很难理解它到底是怎么回事。我希望这段代码能够在每次按下“提交”按钮时更新计数器。它从零开始,第一次单击后更新为1。然后,它会停留在一个位置,并且似乎不会更新过去。我遵循了几个例子,但我似乎找不到一个解释,为什么它会这样。我做错了什么?我确信这是一件相当基本的事情,但就我的一生而言,我不知道它是什么 提前感谢您的帮助 1 <?php 2 session_start(); 3 $_SESSION['counter']=((!i

我第一次使用$\u会话变量,我很难理解它到底是怎么回事。我希望这段代码能够在每次按下“提交”按钮时更新计数器。它从零开始,第一次单击后更新为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>
1
8.
9
10
11
12
13
已点击14次提交
15
16
17

试试这段代码。。。我认为每次加载页面时,您都将计数器重置为0

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

它可能来自您最初设置的
$\u会话['counter']

我会以不同的方式开始:

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

这里不需要使用难看的三元运算符。只需执行:
如果(!isset($\u SESSION['counter']){$\u SESSION['counter']=0;}
我尝试了这个,但它似乎不起作用?顺便说一句,我应该仍然使用session_start(),是吗?它的行为仍然与以前一样。是否需要将服务器配置为处理会话?这似乎从来没有设置$_session['counter']。因此,它从不增加。