假设我有一个带有两个输入字段的登录表单,即电子邮件地址&密码。当用户单击提交按钮时,如果响应为否定,则说明帐户不存在或密码不正确(假设我有另一个用于此身份验证的php文件),我希望在表单下方显示一条错误消息(相同的登录页面)。我怎样才能做到这一点?
PS。我在线搜索了一下,似乎有可能用隐藏的部分完成这类任务,比如this post。所以请尽可能提出一些更好的方法。
PS2。我认为这可以用ajax完成(可能更好用JQuery)。如果是这样,一个简单优雅的例子将非常感激。
结果最后,我发现了一篇很好的帖子,解释了如何实现我对JQuery的期望,你可能会发现link有用。
答案 0 :(得分:1)
我认为你正在寻找这样的东西:
$.ajax({
url: 'php/ajax.php',
type: 'GET',
dataType: 'html',
timeout: 1000,
error: function () {
notifyLoadFail();
},
success: function (data) {
notifyLoadFinish(data);
}
});
function notifyLoadFail(){
$('form[0]').next().append('<h2>Fail. All your base are belong to us.</h2>');
}
此处有更多信息。
答案 1 :(得分:1)
你可以在一个php文件中进行验证并显示错误:
<?php
if (isset($_POST['submit'])) { // form has been sent
// do validation here, for example...
if (!isset($_POST['user']) || strlen(trim($_POST['user'])) == 0)
$error[] = "Please enter your username!";
if (!isset($error)) { // no error => proceed
// do something
}
}
?>
<!-- next line will display $error if it is set -->
<?php=(isset($error)?'There were errors: ' . implode(',',$error):'')?>
<form method="post">
<input type="text" name="user" />
<input type="submit" name="submit" />
</form>