前提・実現したいこと
最近PHPを勉強し始めた者です。
初めての投稿でご無礼がありましたら申し訳ありません。
PHPで、todolistを作成しています。
実行予定回数の確認表示画面を実装中に、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
内容確認 Cleaning x 0 個 Notice: Undefined index: Wash The Dish in C:\xampp\htdocs\php_pr2\confirm.php on line 17 Wash The Dish x 個 Notice: Undefined index: Playing Game in C:\xampp\htdocs\php_pr2\confirm.php on line 17 Playing Game x 個
該当のソースコード
cofirm.php
113 <h2>内容確認</h2> 214 315 <?php foreach ($todos as $todo): ?> 416 517 <?php $orderCount = $_POST[$todo->getName()] ?> 618 <?php echo $todo->getName() ?> 719 x 820 <?php echo $orderCount ?> 921 個 1022 <?php endforeach ?>
試したこと
同名のエラー内容で検索し、
<?php if(isset($_POST[$todo->getName()] )) { や、 <?php if(!empty($_POST[$todo->getName()] )) { を16行目に書き足しましたが、いずれもエラーが消せませんでした。 1つ目のcleaningは表示出来て、2つ目以降にnoticeが出る理由も理解できておりません。 大変未熟な質問かと思いますが、行き詰ってしまった為、 お力添えをいただけましたら幸いです。 よろしくお願い致します。 ### 補足情報(FW/ツールのバージョンなど) var_dump[$_POST]の結果です。 array(3) { ["Cleaning"]=> string(1) "0" ["Wash_The_Dish"]=> string(1) "0" ["Playing_Game"]=> string(1) "0" } Cleaning x 0 個 array(3) { ["Cleaning"]=> string(1) "0" ["Wash_The_Dish"]=> string(1) "0" ["Playing_Game"]=> string(1) "0" } Notice: Undefined index: Wash The Dish in C:\xampp\htdocs\php_pr2\confirm.php on line 17 Wash The Dish x 個 array(3) { ["Cleaning"]=> string(1) "0" ["Wash_The_Dish"]=> string(1) "0" ["Playing_Game"]=> string(1) "0" } Notice: Undefined index: Playing Game in C:\xampp\htdocs\php_pr2\confirm.php on line 17 Playing Game x 個そもそも$_POSTにはどのような値が設定されたのでしょう。var_dumpの結果をそのままご提示ください。
また、みた感じnameにスペースがある文字列を指定しているように見受けられます。
なにがきてるのでしょうか。
ありがとうございます。var_dump(16行目に挿入)結果以下になります。
string(1) "0" Cleaning x 0 個
Notice: Undefined index: Wash The Dish in C:\xampp\htdocs\php_pr2\confirm.php on line 16
NULL
Notice: Undefined index: Wash The Dish in C:\xampp\htdocs\php_pr2\confirm.php on line 18
Wash The Dish x 個
Notice: Undefined index: Playing Game in C:\xampp\htdocs\php_pr2\confirm.php on line 16
NULL
Notice: Undefined index: Playing Game in C:\xampp\htdocs\php_pr2\confirm.php on line 18
Playing Game x 個
nameにスペースがある文字列…Wash The Dish, Playing Gameでしょうか。
質問は編集できますので
var_dump($_POST)
の結果を提示してほしかったのですが。
スペース入ってても参照は可能です。
何度もすみません、質問に加筆いたしました。
このような書き方で合ってますでしょうか?よろしくお願いします。
はい。ありがとうございます。
結果は想定通りでした。そちら踏まえて回答しました。
参考まで。
回答3件
あなたの回答
tips
プレビュー