- ベストアンサー
PHPでクリックするたびに変数を10ずつ増やす方法
- PHP初心者の方に、クリックするたびに変数を10ずつ増やす方法をご紹介します。
- 下記のソースコードを使用して、ボタンをクリックするたびに変数の値を増やすことができます。
- 具体的な手順やコードの書き換え方について詳しく説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
できましたww がプログラムが強引かもですが、ご参考までに。。。。 ようするに、値を自分自身のファイルからから自分自身に投げればいいんですよ。 で、初回はどのphpのフォームからも何も投げてこられてないんで、 POST[]でGETした値はnullなんでmaxもnullって思います。 ネット上には、そんなものできねーよ。とか知ったかぶり男する人が多いですが、 できないのは確定じゃないので、人を信用しないほうがいいですよ。 ************* test01.php (このファイルだけでできる)***************************** <html> <body> <?php $max=$_POST["result"]; if($max==null){ $max=0; }else{ $max+=10; } ?> <form method="post" action="test01.php"> <input type="submit" name="max_1" value="10増やす"> <input type="button" value="リセット" onclick="location.href='test01.php'"> <input type="hidden" name="result" value="<?=$max ?>"> </form> <? echo $max; ?> </body> </html> ******************************************************************* ***** 以下、無理やりな説明 **************************************************** <?php $max=$_POST["result"]; ←test.phpが初回呼び出されたとき (test.phpが初回表示されたとき)は$_POST[]で取得した値はNULL。 if($max==null){ $max=0;←初回はnullなので$maxは0(以下echoでその値を表示(1回目)) }else{ ←「10増やす」ボタンを押すとactionで自分自身test.phpを指定しているのでPOST[]でGETした値(2回目)は+10し(以下のechoでその値を表示) $max+=10; } ?> <form method="post" action="test.php"> <input type="submit" name="max_1" value="10増やす"> <input type="button" value="リセット" onclick="location.href='test01.php'">←初回呼び出し時と同じ状態(0)にする。 <input type="hidden" name="result" value="<?=$max ?>">←隠しパラメータhiddenで表示されている値をactionで指定したファイル(自分自身)へ送信。 </form> <? echo $max; ?> </body> </html> *****************************************************************************
その他の回答 (2)
- master000
- ベストアンサー率33% (16/48)
一般的にはセッションを使うのがスマートです。 クッキーを止めているブラウザでは無理ですが(-_-メ) session_start(); if (isset($_POST["max_1"])) { $max = $_SESSION["max"]; $max += 10; $_SESSION["max"] = $max; }
お礼
ご回答ありがとうございました。 大変参考になりました。
- k_kota
- ベストアンサー率19% (434/2186)
とりあえず、今の値をファイルとかに保存して、 読み込み>値更新>書き込み とか言うやり方をしないと値は保持できません。
お礼
それを具体的にどうやるのでしょうか? 初心者なのでそれがよくわかりません。 「具体的に」どういう風にやるのでしょうか。 簡単でも良いですから、ソースを書いていただけるとありがたいのですが。 更新しても値が変わらないファイルとはどうやって作るのですか。 ご回答どうもありがとうございました。
お礼
test01.phpはそのままではうまく動きませんでしたが、 value="<?=$max ?>" を、value="<?php print $max ?>" と、 書き換えたら、うまく動くようになりました。 どうもありがとうございました。