メールフォーム チェックボックス
以前にも何度かご質問させていただいたのですが、できなかったためもう一度ご質問させていただきました。
入力フォームで各項目を入力してから確認画面、送信となるフォームです。
入力フォームにて各項目を入力し、確認画面が表示され、確認画面にて入力等の間違えや、入力をし忘れた等などがあった場合「戻る」で、入力画面に戻るようにしています。
(必須項目が記入されていなかった場合は自動で入力画面に戻るように設定。)
入力画面にてチェックボックス(選択1,選択2にチェックをしたとする。)を選択し、確認画面が表示されたあと入力画面に戻るとチェックボックスが選択されていたはずなのにチェックがはずれているという現象が起きています。
入力画面→確認画面→入力画面ページが表示されてもセレクトメニューの値はそのままでなおかつチェックボックスの値もそのまま表示されているようにしたいです。
この現象を直すにはどのように記述したらよろしいでしょうか?
また、チェックを必須項目にさせてチェックがされなかった場合のエラー出力方法の記述も教えていただけないでしょうか?
下記は入力フォームの記述になります。
入力画面
<?php
$position_arrays = array('選択1','選択2','選択3','選択4','選択5');
for ($i = 0; $i < 5; $i++) {
$checked = "" ;
$checked = ($_SESSION["position"][$i] == $position_arrays,[$i]) ? "checked":"";
print '<input type="checkbox" name="position['.$i.']" value="'.$position_arrays[$i]. '" '.$checked.'>' . $position_arrays[$i]. "\n";
}
?>
確認画面
$position = isset($_POST['position']) ? implode(" , " , $_POST['position']) : NULL;
・
・
・
$_SESSION['position'] = $position;
とても説明がしずらいためわかりにくいとこがあると思いますが、宜しくお願いします。
また、何か足りない記述等が御座いましたら、お申しでください。
他のテキストボックスなどは正常に動作しております。
(入力画面→確認画面→入力画面の動作をおこなってもテキストボックス内に表示されています。)
宜しくお願いいたします。
お礼
御回答ありがとうございます。 成る程、やはりセッションを使うのが一般的なのかも知れません。 ありがとう、ございました。