我正在尝试创建一个点击计数,每次单击该按钮都会调用一个incrementClickCount()函数,该函数将变量$ count = 0设置为static,递增$ 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>
答案 0 :(得分:0)
在你的代码中,当调用函数incrementClickCount()时,你的$ counter总是被设置为0并且递增...你只需要将一个$ counter变量声明一次保存到某个地方,例如
答案 1 :(得分:0)
对于那些正在努力解决同样问题的人。这是我的代码修复。非常感谢那些帮助过我的人。 Zdenek Leitkep和Andrey建议使用会话。 我在这里发现了如何使用它:http://php.net/manual/en/session.examples.basic.php
<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>