【发布时间】:2018-01-06 14:43:59
【问题描述】:
我正在尝试弄清楚如何在通过 HTML 表单提交并存储为 cookie 时使某些数据在提交后立即可供编辑...
最重要的是,表单验证:
<?php
//check if form was sent
if(isset($_POST['send'])){
//some basic validation
if(strlen($_POST['myname']) > 2){
//set the cookie if passed
setcookie('myname', $_POST['myname']);
}
}
//set error if didn't pass validation
else {
$error[] = 'Your name is required!';
}
?>
因此,如果用户发布数据,它将捕获它并将其存储在 cookie 中。 如果不是,则会报错:
<?php
//check for errors
if(isset($error)){
foreach($error as $error){
echo '<p style="background: red;">'.$error.'</p>';
}
}
?>
使用 PHP 的 HTML 表单:
<form method="post">
<input name="myname" type="text" value="<?php if(isset($_COOKIE["myname"])){
echo $_COOKIE["myname"];} ?>" placeholder="Your Name">
<input name="send" type="submit" value="send">
</form>
这用于收集数据并将其发送以通过 PHP 验证以设置 cookie。如果 cookie 已设置,我希望它使用内联 PHP 代码显示该值。
提交表单时会发生 cookie 存储但用户只有在刷新页面后才能看到它,我可以添加 header("Refresh:0");但它并没有解决问题,因为刷新时错误消息不会显示。
我需要将它用于其中一些表单,所以目前我正在寻找一种快速简单的 PHP 解决方案,但它也可以是合适的 Jquery/AJAX sn-p。
【问题讨论】:
-
要在不刷新/重新加载页面的情况下实现这一点,您需要使用 ajax
-
你已经尝试过 AJAX 了吗? jQuery
.validate()也非常有用。 -
没用过AJAX,不知道PHP在同一个文件时怎么做。我也在使用 Jquery 验证器,不知道如何将它放在一起工作。
-
你试过我的回答了吗@Hakerovsky
标签: javascript php jquery ajax cookies