• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:checkboxの初期値設定(postの時))

checkboxの初期値設定(postの時)

このQ&Aのポイント
  • 初心者にもわかりやすいcheckboxの初期値設定方法を解説します。
  • index.phpとconfirm.phpを使って、チェックボックスの初期値を設定し、確認画面で保持する方法について説明します。
  • PHPを使用して、チェックボックスの値を保持しながらページを移動する方法をご紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

input要素(type="hidden")で実現するとしたら、こんな感じでしょうか ◆index.php <?php if (isset($_POST['colors'])) { if (in_array('赤', $_POST['colors'])) { $aka = 1; } if (in_array('青', $_POST['colors'])) { $ao = 1; } if (in_array('黄', $_POST['colors'])) { $ki = 1; } if (in_array('緑', $_POST['colors'])) { $midori = 1; } } ?> <form method="post" action="confirm.php"> <input type="checkbox" name="colors[]" value="赤"<?print isset($aka) ? ' checked="checked"' : ''; ?>>赤 <input type="checkbox" name="colors[]" value="青"<?print isset($ao) ? ' checked="checked"' : ''; ?>>青 <input type="checkbox" name="colors[]" value="黄"<?print isset($ki) ? ' checked="checked"' : ''; ?>>黄 <input type="checkbox" name="colors[]" value="緑"<?print isset($midori) ? ' checked="checked"' : ''; ?>>緑 <input type="submit" value="送る"> </form> ◆confirm.php <?php foreach ($_POST['colors'] as $color){ echo $color ." /"; } ?> <form method="post" action="index.php"> <?php foreach ($_POST['colors'] as $color){ print '<input type="hidden" name="colors[]" value="' . $color . '">'; } ?> <input type="submit" value="戻る"> </form> たぶん、これが「基本的な手法」になるかと。 他にも配列(colors[])のまま使わずに、implodeして引き渡し→explodeして利用とかserializeして引き渡し→unserializeして利用という手もありますし、POSTではなく「セッション変数に入れる」などの方法もあります。

hayaken73
質問者

お礼

shimixさん 質問の答え以外にも、ご親切な助言までいただきありがとうございました。 ず~~と調べ続けていましたが、答えにうまくたどり着かなかったために 本当に助かりました。

すると、全ての回答が全文表示されます。

関連するQ&A