【发布时间】:2013-08-07 23:22:01
【问题描述】:
我用 ajax 和 php 保存了表单数据,重用了数据库中的数据。
但是我处理这个问题的方式不同,没有数据库,所以一些洞察力会很棒。
我正在通过电子邮件发送表单数据,所有数据都只是简单的复选框,值为0 或1。当用户刷新页面 id 时,喜欢保留选中的值。
我想如果没有数据库,我需要使用 cookie,而避免 cookie 的唯一方法是 ajax 和数据库(严格来说,我的逻辑,不确定是否正确),这就是我问的原因,我只想要一个简单的解决方案。
表格 sn-p:
<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>
【问题讨论】:
-
您始终可以将
$_POST保存在$_SESSION中,例如页面顶部$_SESSION['vals'] = $_POST;