有没有办法检查表单发送到PHP页面的数据返回表单页面而不重置发送的数据并显示错误?
表格有20个字段,我需要在bd上查看其中一个字段。如果失败,用户可能会被重定向到填写表单的表单页面,并在字段上显示“错误”的错误消息。
我想要一种技术的建议,而不是使用PHP填充每个字段。
更新:
我不想使用任何涉及自己重新填充字段的解决方案!
我想要一个返回到填充了以前值的表单页面的解决方案。我尝试过像js.history.back或window.back()这样的东西。但表格返回空......
更新 :如果您正在寻找此类行为,现在有几种不同的技术可以实现这一目标。我目前正在使用jQuery(Ajax)。
答案 0 :(得分:2)
在表单字段HTML中,将发布的值添加为字段值。
e.g:
<input type='text' name='email' value='<?php echo $_POST['email']; ?>' />
答案 1 :(得分:0)
是的,只需预先检查表单,确保在验证过程后运行表单HTML,如果验证失败,请重新加载包含字段中所有先前信息的表单。
它可能看起来像这样:
<?php if(isset($_POST['submit']){
// validation code goes here with a trigger variable to
// contain true or false depending on the outcome
}
if($trigger==false){
// load up your post data here
}
echo '
<!-- form HTML goes here -->
';
答案 2 :(得分:0)
在表单验证页面
<?php
$form_values = $_POST;
//Your Form Validation
//$form_validated = TRUE/FALSE; // FALSE if there were errors
if ($form_validated) {$form_values = array();}
$_SESSION['form_values'] = $form_values; /* if your form validation page and form page is not on the same page and can also use the same technique for error messages */
?>
在每个输入字段的“表单”页面上。
<?php
$form_values = $_SESSION['form_values']; //if your form validation page and form page is not on the same page
unset($_SESSION['form_values']);
echo '<input type="text" name="user_name" value="'.$form_values['user_name'].'" />';
?>
不同的输入类型需要以不同的方式处理$form_values
数组,但这应该是你的开始。
如果您没有使用单独的表单验证页面,则可以直接从$_POST
数组中获取表单值。