我有一个带有按钮和php脚本的简单html格式的文件。此脚本应计算,单击按钮的次数。这是代码:
<? php
if( isset($_POST['clickCount']) ) {
incrementClickCount();
}
function getClickCount()
{
return (int)file_get_contents("index.html");
}
function incrementClickCount()
{
$count = getClickCount() + 1;
file_put_contents("index.html", $count);
}
?>
<html>
<head>
<title>PHP</title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" value="click" name="clickCount">
</form>
<div>Click Count: <?php echo getClickCount(); ?></div>
</body>
</html>
问题是,当我点击按钮时,它会给我一个错误:
file:///C:/Web_8/%3C?php%20$_SERVER[%27PHP_SELF%27];%20?%3E
我确实使用php,所以我不知道,我的代码的哪一部分是错误的。希望有人告诉我,如何让它发挥作用。
答案 0 :(得分:1)
如果您不使用数据库,请尝试使用会话或Cookie
if (isset($_POST['clickCount'])) {
if(isset($_SESSION['clickCount']){
$_SESSION['clickCount'] = $_SESSION['clickCount'] + 1;
} else {
$_SESSION['clickCount'] = 1;
}
}
但是一旦用户清除会话,会话就会丢失。
但我会告诉您使用database
或redis
答案 1 :(得分:0)
我不太了解您希望在脚本中执行的操作,但PHP文件必须由网络服务器提供。您不能只在浏览器中打开PHP文件。
答案 2 :(得分:0)
首先在目录中创建一个data.txt ..然后运行脚本..
建议:此类功能的名称是hitcounter ..您应该使用数据库来执行此操作
<?php
if (isset($_POST['clickCount'])) {
$data = (int)file_get_contents("data.txt");
$data = $data + 1;
file_put_contents("data.txt", $data);
}
?>
<html>
<head>
<title>PHP</title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="count" value="<?php echo $data;?>">
<input type="submit" value="click" name="clickCount">
</form>
<div>
</body>
</html>
如果您只是在玩PHP,那么您也可以试试
<?php
if (isset($_POST['clickCount'])) {
# code...
$data = $_POST['count'];
$data = $data + 1;
}
?>
<html>
<head>
<title>PHP</title>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="count" value="<?php echo $data;?>">
<input type="submit" value="click" name="clickCount">
</form>
<div>
</body>
</html>