- ベストアンサー
ボタンのクリック数をカウントするPHPプログラム
- サイト訪問者が任意でボタンをクリックしてくれた数をカウントし、合計にするPHPプログラムを教えてください。
- ボタンのクリック数をカウントし、合計を表示するPHPプログラムの書き方を教えてください。
- ボタンをクリックしたらクリック回数をカウントし、合計を表示するPHPのスクリプトについて教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ボタンをクリックしたらを完全に見落としてました。 リロード処理等も入れなくてはいけなくなってきますのでカウントするのは別ファイルにしたほうが良いと思います。 count.php>> <?php $file = "./number.php"; $fp = fopen ( $file,"r" ); $now = fgets ( $fp ); fclose ( $fp ); $now ++; $fp = fopen ( $file, "w" ); fputs ( $fp, $now ); fclose ( $fp ); // "/test/index.php"は自分の環境に合わせる header ( "Location: http://" . $_SERVER['HTTP_HOST'] . "/test/index.php" ); exit; ?> >>count.php index.php>> <html> <body> <form action="count.php" method="get"> <input type="submit" value="クリック!<?php readfile("./number.php") ?>"> </form> </body> >>index.php 前回同様ロック処理やセキュリティの考慮は皆無ですので実運用するにはもうちょっと手を加えないといけませんがこんな感じで作ればよいと思います。 上記動作はボタンを押すとcount.phpへ飛び、カウント処理を実行後またボタンの表示されているページへ戻ります。 戻ってくるとボタンに表示されているカウントが加算されます。 更新ボタンを押した場合はカウントは変わりません。
その他の回答 (1)
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 単純(ファイルロックやセキュリティー等考慮せず)に作るのであれば以下のような感じで作れば動くと思います。 動きとしてはnumber.phpファイルを読み込んで加算し、その値を書き込むという動きです。 <?php $file = "./number.php"; $fp = fopen ( $file,"r" ); $now = fgets ( $fp ); fclose ( $fp ); $now ++; $fp = fopen ( $file, "w" ); fputs ( $fp, $now ); fclose ( $fp); ?> <html> <body> <form action="index.php" method="get"> <input type="submit" value="クリック"> 合計<input type="text" name="number" value="<?= $now ?>"> </form> </body> </html>
お礼
こんばんは、こんな初歩の初心者の質問にお答えくださってありがとうございます。 教えていただいたコードで確かにカウントし、カウントした数字は別ファイルに上書きされるようになりました! (<input type="text" name="number" value="<?= $now ?>"> この部分がそのままでは動かなかったので、この部分はincludeでnumber.phpの内容を強制的に表示させました) ただ、この状態で http://localhost/index.php として、index.phpに上記のタグを記入してブラウザでこのページを表示すると、ブラウザの表示やブラウザの更新ボタンをクリックした時も数をカウントしてしまいました。 できればブラウザの表示回数は計算に含めずに、ボタンをクリックした数だけをクリックできると嬉しいなと思いましたが、教えていただいた計算式さえ自分ではPHPがわからなくて、いずれにせよ、「PHP頑張ろう!!」とすごく思いました。 本当にありがとうございます!
お礼
ありがとうございました。 長く教えてgooにログインできず、お返事が大変おそくなってしまい失礼いたしました。