PHP验证消息显示在我的用户表单上

时间:2012-01-23 16:59:14

标签: php validation

我的PHP表单验证脚本存在问题。

基本上,我有一个表单,当用户提交信息时,它会进行验证检查(通过PHP)并通过echo语句输出结果(Success,Error1,Error2等)

但是,在用户提交表单后(action =同一页面,即它自己发布),验证消息会显示在表单顶部或旁边。我希望回声消息显示在表单下面。

现在页面中正在发生这种情况:

Error: Your password is incorrect

Username:

Email:

Password:

Submit Button

这就是我想要的样子:

Username:

Email:

Password:

Submit Button

Error: Your password is incorrect

有谁知道如何解决这个问题?

以下是代码:

<form id="username_check" name="username_check" method="post">
<tr>
<td><b>Username:</b></td>
<td><input name="Username" type="text" class="textfield" id="Username" 
value="<?php echo($_POST['Username']); ?>" 
/>
</td>
</tr>
<tr>
<td><b>Email Address:</b></td>
<td><input name="email_address" type="text" class="textfield" id="email_address" 
value="<?php echo($_POST['email_address']); ?>"
/>
</td>
</tr>
<tr>
<td><b>Password:</b></td>
<td><input name="PASSWORD" type="password" class="textfield" id="PASSWORD" />
</td>
</tr>
<td><input type="submit" name="submit" value="Submit" /></td>
</form>
<?php  
//If form was submitted  
if (array_key_exists('submit',$_POST)){ 
//Do something  
echo "Form validation here.....";
}  
?>

4 个答案:

答案 0 :(得分:2)

这取决于代码的执行顺序。如果您使用的是IDE,请在验证之前设置断点并逐步执行。否则,我很确定我们需要看一些代码来了解为什么会发生这种情况。

尝试:

<form id="username_check" name="username_check" method="post">
<table>
<tr>
<td><b>Username:</b></td>
<td><input name="Username" type="text" class="textfield" id="Username" 
value="<?php echo($_POST['Username']); ?>" 
/>
</td>
</tr>
<tr>
<td><b>Email Address:</b></td>
<td><input name="email_address" type="text" class="textfield" id="email_address" 
value="<?php echo($_POST['email_address']); ?>"
/>
</td>
</tr>
<tr>
<td><b>Password:</b></td>
<td><input name="PASSWORD" type="password" class="textfield" id="PASSWORD" />
</td>
</tr>
<td><input type="submit" name="submit" value="Submit" /></td>
</table>
</form>
<?php  
//If form was submitted  
if (array_key_exists('submit',$_POST)){ 
//Do something  
echo "Form validation here.....";
}  
?>

答案 1 :(得分:0)

如果您正在呼叫

echo $error_message;
在显示表单之前

,然后在表单之前显示消息。

如果您希望表单后面的错误消息只是在打印表单后移动echo命令。

答案 2 :(得分:0)

听起来你正在回应你的错误信息,然后回应表格。

反过来做。

答案 3 :(得分:0)

不要回复错误,将其保存到变量中并将其打印在表单打印后面。

通过这种方式,您还可以在表单验证期间每次检查是否发生错误,只需检查错误变量是否为emtpy / false