0

チェックボックスがオンまたはオフの場合にメッセージを表示したい。if/else ステートメントを使用するとうまくいくと思いましたが、チェックボックスをオフにすると、変数が未定義であるというエラー メッセージが表示され続けます。それを止めるにはどうすればよいですか?

これは私のhtmlフォームの私のコードです

  <input type='checkbox' value='1' name='check_box_con'>
  <input type="submit" name="submit" value="Order" />

そして、これは私のphpファイルのコードです

  if ($_POST['check_box'] == '1') {
   print "they want a cookie";
   } else {
      if ($_POST['check_box'] !== '1') {
      print "they do not want a cookie";
      }
   }

これの何が問題なのですか?これについてもっと簡単な方法はありますか?

4

4 に答える 4

0

name 属性は、フォームが送信されたときに $_POSt 配列のキーになります。したがって、要素の値を取得するには、$_POST 配列で同じキーを使用する必要があります。そのため、$_POST['check_box']に変更する必要があります$_POST['check_box_con']。コードをこれに変更する必要があります

if (isset($_POST['check_box_con']) && $_POST['check_box_con'] == '1') {
   print "they want a cookie";
} 
else {
   print "they do not want a cookie";
}
于 2013-10-29T04:13:43.230 に答える
0

$_POST['check_box'] は $_POST['check_box_con'] である必要があります。また、else 部分では条件を再度確認する必要はありません。

if (isset($_POST['check_box_con'])) {
    print "they want a cookie";
 } else {     
    print "they do not want a cookie";     
}
于 2013-10-29T04:14:23.647 に答える
0

投稿キーは check_box_con にする必要があります

$_POST['check_box_con']
于 2013-10-29T04:12:04.600 に答える
0

チェックされていないチェックボックスは POST リクエストでは送信されません。チェックされている場合にのみ取得されるため、次のようにすることができます。

 if (isset($_POST['check_box_con'])) {
   print "they want a cookie";
 } else {
      print "they do not want a cookie";
 }
于 2013-10-29T04:15:05.020 に答える