前提・実現したいこと
if文を使用して、$_POST[]で受け取ったデータにより条件分岐しようとしました。
でてくる文章はこんにちは「sportsタイプバイク、ninja250です。」になるか 「残念です。」です。
そしてその出てくる結果には問題はないのですがエラー文がでる原因が分からなくて困っています。
発生している問題・エラーメッセージ
求めている結果はでていますが、エラー文も表示されています。
Notice: Undefined index: hello in C:\xampp\htdocs\bike_php\hello.php on line 23
HTMLのインプットタグを2つ用意し、valueに出会った。と買わない。設定してあり、
どちらかのボタンを押すとhello.phpにインプットタグのname属性が送信されると考えました。
出会った。
の方を押した場合はhello.phpに画面がかわり、
エラーメッセージはでず、「こんにちはsportsタイプバイク、ninja250です。」
と表示されます。
買わない。
の方のボタンを押した場合は以下のように表示されます。
Notice: Undefined index: hello in C:\xampp\htdocs\bike_php\hello.php on line 23
残念です。
タイミングとしてはボタンを押し、画面がかわり表示された瞬間です。
該当のソースコード
該当箇所HTML <form action="hello.php" method="post"> <input type="submit" name="hello" value="出会った。"> <input type="submit" name="noHello" value="買わない。"> </form> 送信先 <body> <?php class Bike250{ public $name; public $type; public function __construct($name,$type){ $this -> name = $name; $this -> type = $type; } } $ninja = new Bike250('ninja250','sports'); $z = new Bike250('z250','naked'); //該当23行目は次のif文の列です。 if($_POST['hello']){ echo $_POST['hello'] = "<p>こんにちは{$ninja -> type}タイプバイク、{$ninja -> name}です。</p>"; }elseif($_POST['noHello']){ echo $_POST['noHello'] = "<p>残念です。</p>"; } ?> </body>
補足情報
質問にて不足している情報などがございましたら伝えていただけるとありがたいです。
よろしくお願いします。
xamppを使用しての勉強のためのコーディングです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー