PHPでクリックするたびに変数を10ずつ増やすには?
HTML、PHPの初心者です。
画面に作ったボタンをクリックするたびに、変数$maxの値が10ずつ増えるような
プログラムを作りたいと思っています。
非常に簡略化していますが、下記のようなソースを書いてみました。
<html>
<body>
<?php
$max = 0;
?>
---------中略----------
<form method="post" action="">
<input type="submit" name="max_1" value="10増やす">
</form>
<?php
---------中略----------
if (isset($_POST["max_1"])) {
$max += 10;
}
---------中略----------
?>
</body>
</html>
これだと、「10増やす」というボタンを1回クリックすると、
変数$maxの値が、0から10になりますが、
2回、3回、4回とクリックしても、$maxの値は10のままです。
これを、「10増やす」ボタンを2回クリックしたら、$maxの値が20になり、
3回クリックしたら、$maxの値が30になり、4回クリックしたら、$maxが40になる・・・・
という風にしたいのですが、どう書き換えたらよいでしょうか?
どなたか教えていただけると幸いです。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
できました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>
*****************************************************************************
test01.phpはそのままではうまく動きませんでしたが、
value="<?=$max ?>" を、value="<?php print $max ?>" と、
書き換えたら、うまく動くようになりました。
どうもありがとうございました。
No.3
- 回答日時:
一般的にはセッションを使うのがスマートです。
クッキーを止めているブラウザでは無理ですが(-_-メ)
session_start();
if (isset($_POST["max_1"])) {
$max = $_SESSION["max"];
$max += 10;
$_SESSION["max"] = $max;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
このQ&Aを見た人はこんなQ&Aも見ています
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
PHPでクリックするたびに変数を...
-
画面が更新されてもチェックボ...
-
PHPで投票カウンタの作成
-
HTMLで前の画面に戻る時、入力...
-
テキストボックスに初期値を入れる
-
ラジオボタンをsessionで使いたい
-
DBの値をチェックボックスに反...
-
チェックボックス 複数選択
-
チェックボックスを使った複数...
-
パラメーターを隠す
-
現在ラジオボタンのデータベー...
-
チェックボックスによる検索(...
-
配列要素を受ける時
-
フォームボタンを押すたびに数...
-
アップロードの際にファイルパス
-
フォームへの前回入力値をクリ...
-
複数formの使用について
-
Javascript→PHPに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
PHPで画像の渡しが上手く行きま...
-
フォームでのリセットを使う方法
-
入力フォーム→確認画面→送信画...
-
PHPでユーザー情報を入力して簡...
-
syntax error, unexpected '}' ...
-
PHPで、ボタンを押すと同じペー...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
Javascript→PHPに...
-
PHPとHTML+Xamppの掲示板で画像...
-
チェックボックスによる検索
-
PHPでCookieを使った訪問回数に...
-
PHPの関数実行
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
【HTML(PHP?)】複数のフォーム...
おすすめ情報