我想制作一个代码,当有人按下按钮时:"点击我"它将被视为一次点击,它将保存在.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 =&#34; javascript:countClicks();所以当你刷新页面或其他东西时不是这样
我怎样才能使这个工作?
答案 0 :(得分:0)
<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>
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);
}
}
}
?>