
サイト訪問者が任意でボタンをクリックしてくれた数をカウントし、合計にするPHPをどなたか教えていただけないでしょうか。
(PHPをはじめたばかりです、よろしくお願いいたします。)
index.phpのボタンをクリックすると、クリック回数をnumber.phpに上書き保存し、更にクリックされたら新しくクリックされた回数+number.phpの数の合計を上書きする、というスクリプトを書こうとしています。
index.php ここから----------------------------------------
<html>
<body>
<form action="index.php" method="get">
<input type="submit" value="クリック">
合計<input type="text" name="munber" value="<?php
$file = "munber.php";
@readfile($file);?> ">
</form>
</body>
</html>
index.php ここまで----------------------------------------
number.phpは単に数が一行あるだけです。(例として 5 )
上記のindex.phpでは、ただボタンがあり、ただnumber.phpの数(5)を表示しているだけで、足し算は行われません。(画像参照)
これをどのように書き換えると、ボタンをクリックしたらnumber.php + 1 を行い、number.phpの値も書き換える、というプログラムになるでしょうか。
※アクセス解析ではないので、IPやリファラなどは関係なく、(誰が何回でも)ボタンをクリックした回数を単純にカウントする数式が欲しいです。
どうぞよろしくお願いいたします。

No.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へ飛び、カウント処理を実行後またボタンの表示されているページへ戻ります。
戻ってくるとボタンに表示されているカウントが加算されます。
更新ボタンを押した場合はカウントは変わりません。
No.1
- 回答日時:
こんにちは。
単純(ファイルロックやセキュリティー等考慮せず)に作るのであれば以下のような感じで作れば動くと思います。
動きとしては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頑張ろう!!」とすごく思いました。
本当にありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【最大10000ポイント当たる!!】dポイント・Amazonギフト券・マイルなど色々交換できるgooポイントが【質問投稿】で当たる!!
教えて!goo 質問投稿キャンペーン
-
クリックカウンターの作り方
JavaScript
-
送信ボタンでカウントアップ
PHP
-
Submit(送信ボタン)を押した回数を数える方法。
PHP
-
4
フォームボタンを押すたびに数字が増えていくプログラム
PHP
-
5
ボタンを押した回数を表示するには
HTML・CSS
-
6
コードをスマートにさせたい。
JavaScript
-
7
PHPでいいね機能を作りたいのですが設計が不明です
PHP
-
8
外部リンクのクリック数を表示させたい
JavaScript
-
9
PHP ボタンが押されたら処理を実行する
PHP
-
10
ボタンをクリックでPHP文を実行
PHP
-
11
ボタンをクリックすると数が増えていくようにしたい
JavaScript
-
12
フォントの色を変えるには?
PHP
-
13
クリックの度に加算していくには?
JavaScript
-
14
ワンクリックしかできないクリックカウンター
PHP
-
15
phpにcssを適応させたいのですが?
PHP
-
16
クリック数を表示できるcgiを探しています。
CGI
-
17
リンク(URL)をクリックした後、PHPへ
PHP
-
18
宜しくお願いします。
PHP
-
19
PHPでクリックするたびに変数を10ずつ増やすには?
ホームページ作成・プログラミング
-
20
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
関連するQ&A
- 1 PHP3で作ったプログラムをPHP4、PHP5で動作させる事は可能ですか
- 2 PHP 1日1回のクリック有効ボタン
- 3 ボタンをクリックした回数を記録し、集計するPHP
- 4 phpファイルて保存したいのですが、保存するときに拡張子がありませんでした。、どうしたらphpとして
- 5 任意のサイトのテキストボックスに値を自動で入力、submitさせるプログラムをphpで作りたいのです
- 6 ボタンをクリックでPHP文を実行
- 7 PHPで任意の数の行抽出
- 8 phpのwhile文で、ボタンをクリックすると次が表示されるようにしたい。
- 9 phpで正規表現を用いて、一定の文字数を超えて出てくる任意の文字のところで文字列を分割する方法を教えてください。
- 10 PHPのプログラムの保存場所
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ボタンをクリックでPHP文を実行
-
5
『週間』カレンダーのサンプル!
-
6
データ送信をボタンを押さずに...
-
7
ボタンの表示/非表示
-
8
ボタンのクリック数を合計保存...
-
9
フォーム送信後の更新ボタンで...
-
10
eclipse でのPHPのデバッグの仕...
-
11
サイト内投票ボタン(いいね等)...
-
12
phpやmysqlで作る簡易掲示板作...
-
13
phpでリフレッシュな実行を毎回...
-
14
PHPでの注文フォーム作成について
-
15
外部の別ホストからのPOST送信...
-
16
ブラウザを閉じた後もセッショ...
-
17
PHP、SQLite3のデーターでログ...
-
18
メール送信フォームとhistory.b...
-
19
会員登録したらメールが送られ...
-
20
入力フォームの情報をPDFを生成...
おすすめ情報