我用 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>