- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:#1ボタンと#2ボタンで分岐処理をしたい。)
PHPでのボタン分岐処理について
このQ&Aのポイント
- #1ボタンが押されたらAの処理を、#2ボタンが押されたらBの処理を行いたいが、Notice: Undefined indexが出て動作しない。
- HTMLの<input>タグでボタンを作成し、PHPの$_POST変数を使用してボタンが押されたことを判定して処理を分岐させる。
- isset関数を使ってボタンが押されたかどうかを確認し、分岐処理を行う。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
formも設定してね <HTML><BODY> <form method="post"> <p> <input type="submit" name="are" value="#1ボタン" > <input type="submit" name="kore" value="#2ボタン" > </p> </form> <?php error_reporting(E_ALL); $are=isset($_REQUEST["are"])? $_REQUEST["are"] : null; $kore=isset($_REQUEST["kore"])? $_REQUEST["kore"] : null; if($are) echo ("あれや<br />"); if($kore) echo ("これや<br />"); ?> </BODY></HTML>
その他の回答 (1)
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
回答No.1
例えば#1ボタンが押下された場合には$_POST["kore"]という 連想添字の値は存在しません。 また、初回アクセス時にはボタンが押されてないわけですから、 当然POSTデータの送信はなく、$_POST["are"]も$_POST["kore"]も存在しません。 にも関わらず、後の比較処理で$_POST["kore"]を利用していることによって、 そんな添字ないよという通知が発生しているわけです。 せっかく$are、$koreに値を代入しているわけですから、 7,9行目の比較でスーパーグローバル変数を利用するのをやめれば良いでしょう。
質問者
お礼
丁寧に教えて頂きありがとうございます。 なるほど、なるほど、です。
お礼
ありがとうございます。 > formも設定してね これですか、なるほど! 良く分かりました。