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