html phpの勉強をしているもので、初心者です。
チェックボックスを作ってみました。そこで、
php
1<html> 2 <body> 3 <h1>checkbox</h1> 4 <p>select your favorite colors(multiple selection is possible)</p> 5 <form action = 'sample6.php' method = "POST"> 6 <p> 7 <input type = 'checkbox' name = 'colors[]' value = '青'>青 8 <input type= "checkbox" name = "colors[]" value = "赤">赤 9 <input type="checkbox" name="colors[]" value="黄">黄 10 <input type="checkbox" name="colors[]" value="緑">緑 11 <input type="checkbox" name="colors[]" value="紫">紫 12 <input type="checkbox" name="colors[]" value="白">白 13 <input type="checkbox" name="colors[]" value="橙">橙 14 </p> 15 <input type = 'submit' value = '送信する'> 16 </body> 17</html> 18
(sample5.php)
これが選択画面です。これは問題ないのですが、
php
1<?php 2 $colors = $_POST['colors']; 3 var_dump($colors); 4 if(!isset($colors)) 5 { 6 $err = 'null is out'; 7 } 8?> 9 10<html> 11 <head> 12 <meta charset = 'utf-8'> 13 </head> 14 <body> 15 <h1>this is recive page</h1> 16 <h3>your favorite colors</h3> 17 <ul> 18 <?php 19 if(!isset($err)) 20 { 21 foreach($colors as $var) 22 { 23 ?> 24 <li><?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); ?></li> 25 <?php 26 } 27 } 28 else 29 { 30 echo $err; 31 } 32 ?> 33 </ul> 34 <p>your favorite colors are <?php echo implode(' and ', $colors).'.'; ?></p> 35 </body> 36</html> 37
(sample6.php)
これが受信ページです。
sample5.phpで、ちゃんと色を選択すれば問題ないのですが、何も選ばなかった時にエラーメッセージを出力しようと、sample6.phpの先頭部分を書いたのですが、
Notice: Undefined index: colors in C:\xampp\htdocs\sample6.php on line 2
となってしまいます。おそらく、何も選択しなかった場合、上の$colorsに問題が発生しているものと思われるのですが、どのようにすればよいかが分かりません。
どなたか、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/27 11:16