データベースからのデータを再利用して、フォームデータを ajax と php で保存しました。
ただし、これにアプローチする方法は異なります。データベースがないため、いくつかの洞察が得られます。
フォームデータをメールで送信しています。すべてのデータは単純なチェックボックスで、値は0
または1
です。ユーザーがページIDを更新すると、チェックされた値を保持したい.
データベースがなければ Cookie を使用する必要があると思います。Cookie を回避する唯一の方法は ajax とデータベースです (厳密には私の論理であり、真かどうかはわかりません)。
フォーム スニペット:
<input name="sharks" type="hidden" value="0">
<input name="sharks" type="checkbox" value="1" id="sharks" '.$VALUE ? ' checked="checked"' : ''.'>
その入力のphp部分は不安定です。値が0か1かを質問したいのですが、1の場合はチェックされ、0の場合は空です。
データベースから取得する方が簡単ですが、データベースがないため、Cookie が配置されると推測しています。
この最後の部分が不安定な場合は申し訳ありませんが、少し確信が持てず、どこを見ればよいかわかりません。
セッションの使用:
session_start();
if(isset($_POST['submit'])) {
if(isset($_POST['personalization_result'])) {
$_SESSION['value'] = $_POST['personalization_result']; }
else {
$_SESSION['value'] = '';
}
}
形
<form action="<?php the_permalink(); ?>" method="post" id="question-form">
<input type="hidden" name="submit" value="1">
<?php
if ($_SESSION['value'] == 1) {
$checked = 'checked="checked"'; }
?>
<li>
<input name="personalization_result[memory_0]" type="hidden" value="0">
<input name="personalization_result[memory_0]" type="checkbox" value="1" id="personalization_result_memory_0" <?php $checked ?> >
</li>
<li>
<input name="personalization_result[memory_1]" type="hidden" value="0">
<input name="personalization_result[memory_1]" type="checkbox" value="1" id="personalization_result_memory_1" <?php $checked ?> >
</li>
<li>
<input name="personalization_result[memory_2]" type="hidden" value="0">
<input name="personalization_result[memory_2]" type="checkbox" value="1" id="personalization_result_memory_2" <?php $checked ?> >
</li>