php/html:单击计数器';行不通

php/html:单击计数器';行不通,php,Php,我正在尝试创建一个单击计数,每次单击按钮都将调用incrementClickCount()函数,该函数将变量$count=0设置为静态,递增$count变量并显示它。我不明白为什么它不起作用 <html> <head> <title>Click Counter</title> <?php if(isset($_POST['clicks'])){ incrementClickCount()

我正在尝试创建一个单击计数,每次单击按钮都将调用incrementClickCount()函数,该函数将变量$count=0设置为静态,递增$count变量并显示它。我不明白为什么它不起作用

<html>
<head>
    <title>Click Counter</title>
    <?php
        if(isset($_POST['clicks'])){
            incrementClickCount();
        }

        function incrementClickCount(){
            static $count=0;
            $count++;
            echo $count . " and counting...";
        }
    ?>
</head>
<body>
    <form name="form1" method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
        <input type="submit" name="clicks" value="click me!">
    </form>
</body>

点击计数器

在代码中,当调用函数incrementClickCount()时,$counter始终设置为0并递增…您只需声明$counter变量一次,然后将其保存到某个位置,例如,对于那些正在解决相同问题的人,将其保存到会话中。这是我的代码修复。非常感谢那些帮助我的人。Zdenek Leitkep和Andrey建议改为使用会话。 我在这里发现了如何使用它:


会话:单击计数器

请求之间不保持静态,您需要将计数器保存在某个位置。好的,我将尝试会话。谢谢我还不知道会话,但我会检查并测试它。谢谢不客气,我希望这有帮助。如果您在这方面有问题,我愿意帮助您;)谢谢我尝试了一个会话,它工作正常。我会把下面的代码给其他需要帮助的人。干得好!只是一个细节,当会话未设置时,在函数incrementClickCount()中;已单击,会话应为1而不是0(我认为:)
<html>
<head>
    <title>Sessions: Click Counter</title>
    <?php
        session_start();
        if(isset($_POST['clicks'])){
            incrementClickCount();
        }

        function incrementClickCount(){
            if (!isset($_SESSION['count'])) {
                $_SESSION['count'] = 0;
            }else{
                $_SESSION['count']++;
                print $_SESSION['count'];
            }
        }
    ?>
</head>
<body>
    <form name="form1" method="POST" action="<?php $_SERVER['PHP_SELF'];?>">
        <input type="submit" name="clicks" value="click me!">
    </form>
</body>
</html>