我用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部分不稳定,Id想问值是0还是1,如果它是1,则检查它的0,如果它是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>发布于 2013-08-07 23:34:11
此代码将数据存储在会话中:
<?php
session_start();
if(isset($_POST['submit']))
{
if(isset($_POST['sharks']))
{
$_SESSION['value'] = $_POST['sharks'];
}
else
{
$_SESSION['value'] = '';
}
}
?>
<form action="" method="POST">
<?php
print '<input name="sharks" type="checkbox" value="1" id="sharks" ';
if ($_SESSION['value'] == 1)
{
print ' checked="checked"';
}
print ">";
?>
<br>
<input type="submit" name="submit" value="Save" />
</form>为我工作,保持复选框后,我关闭并打开浏览器再次。经过一些测试,我添加了一个相当复杂的if,以避免未定义的变量通知。现在,设定部分看起来很健壮。
发布于 2013-08-07 23:26:49
您可以使用会话或cookie。基本上,您将使用$_COOKIE或$_SESSION进行访问。我宁愿说这比使用数据库更容易。
对于cookies,请看一下setcookie (http://www.php.net/setcookie)
会议:http://php.net/manual/en/book.session.php
发布于 2013-08-07 23:27:31
我会使用本地存储或会话存储,这是一个客户端内存存储位置,即使页面被刷新,它也会被集成到html5中。
下面是一个很好的教程:
webstorage.asp
https://stackoverflow.com/questions/18115408
复制相似问题