私は PHP にはかなり慣れていませんが、ユーザーがボタンをクリックするたびにボタンがクリックされた回数を単純に表示するスクリプトを設定することができました。
PHPは次のとおりです。
<?php
$f = fopen('counter.txt', 'r+');
flock($f, LOCK_EX);
$total = (int) fread($f, max(1, filesize('counter.txt')));
if (isset($_POST['submit'])) {
rewind($f);
fwrite($f, ++$total);
}
fclose($f);
?>
HTMLは次のとおりです。
<form action='' method="post">
<input type="submit" name="submit" value="click" />
</form>
This button has been clicked <?php echo $total; ?> times.
カウンターは機能しますが、3 つの問題があります。
ページがリロードされるたびにカウンターが増加します。ボタンがクリックされたときにのみカウンターが増加するようにします。これを修正する方法はありますか?
ページを更新するたびに、Firefox は、ページを再読み込みするかどうかを確認するように求めてきます。これを防ぐためのオプションがブラウザの設定にあることは知っていますが、このメッセージがユーザーにも表示されないように PHP を調整する方法があるかどうか疑問に思っていました。
ボタンを数回クリックしてから [戻る] ボタンを使用しようとすると、前のクリックのそれぞれに移動します。繰り返しますが、これを行わずに前のページに移動するようにコードを修正する方法はありますか?
ありがとうございます!