计数点击时,按下一个按钮+保存在一个.txt文件


Counting clicks when pressing a button + save them in a .txt file

我想做一个代码,当有人按下一个按钮,如:"点击我"它将算作点击,并将保存在。txt

<?php
if (file_exists('count_file.txt')) 
{
    $fil = fopen('count_file.txt', r);
    $dat = fread($fil, filesize('count_file.txt')); 
    echo $dat+1;
    fclose($fil);
    $fil = fopen('count_file.txt', w);
    fwrite($fil, $dat+1);
}
else
{
    $fil = fopen('count_file.txt', w);
    fwrite($fil, 1);
    echo '1';
    fclose($fil);
}
?>

我使用该脚本,但我希望它只与nclick="javascript:countClicks();所以当你刷新页面或者其他东西的时候

我怎样才能使它工作?

这很简单。
假设你有一个这样的按钮:

<button id="mybutton">Click Me</button>

然后这个到那一页:

<script>
document.getElementById('mybutton').addEventListener('click', function(){
    document.getElementById('myFrm').submit();
});
</script>
<form id="myFrm" method="post" action="file.php"><input type="hidden" name="doit" value="true" /></form>

或者如果您想在不更改页面的情况下发送:

<script>
document.getElementById('mybutton').addEventListener('click', function(){
    var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("POST","file.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("doit=true");
});
</script>

in file.php:

<?php
    if(!empty($_POST) && array_key_exists('doit', $_POST)) {
        if($_POST['doit'] == "true") {
            if (file_exists('count_file.txt')) 
            {
                $fil = fopen('count_file.txt', r);
                $dat = fread($fil, filesize('count_file.txt')); 
                echo $dat+1;
                fclose($fil);
                $fil = fopen('count_file.txt', w);
                fwrite($fil, $dat+1);
            }
            else
            {
                $fil = fopen('count_file.txt', w);
                fwrite($fil, 1);
                echo '1';
                fclose($fil);
            }
        }
    }
?>