我正在用PHP创建一个登录页面。在输入错误的用户名/密码时,我显示的是一个javascript警告框。我现在想要在用户点击" OK"警报框按钮。我正在使用" header(location:url)",但后来javascript代码无效。 有没有其他方法可以做到这一点。
答案 0 :(得分:1)
你可以试试这个
echo "<script language='javascript' type='text/javascript'>alert('error');
</script>";
echo "<meta http-equiv='refresh' content='1; URL=login.php'>";
答案 1 :(得分:0)
对于JS重定向,请尝试;
window.location.href="http://url";
希望这会有所帮助:)
答案 2 :(得分:0)
将此代码放入登录错误页面..
<script>
alert('Wrong Username/Password');
window.location = "http://www.google.com";
</script>
但是如果您熟悉jquery,我建议您使用ajax请求执行登录过程并在同一页面中显示通知,而不是来回导航。
如果你需要我可以在plnkr中创建一个简单的
答案 3 :(得分:0)
对于js重定向,你可以使用
window.location.href='http://whereEver';
注意:用户名/密码验证是服务器端。假设它是ajax调用,在获得验证结果后,而不是触发警报,在页面本身中有一个div,您可以在其中注入服务器响应。警报看起来不专业。
更好的方法就像
<强> HTML 强>
<div class="response"></div>
<强> CSS 强>
.response {
display:none;
}
.error {
color: red; // find a better color
}
<强> PHP 强>
在验证失败时,有一个变量,让我们调用它status
并将其设为false。
验证响应可以是,
$response = ['status' => false, 'message' => 'Username / password mismatch'];
然后发回结果
die(json_encode($response));
注意:如果您使用的是PHP&lt; 5.4,使用
$response = array('status' => false, 'message' => 'Username / password mismatch');
<强> JS 强>
$.ajax({
url: 'url-to-post',
type: 'POST',
data: $('form[name="your-form-name"]').serialize(),
dataType: 'json',
success: function(data) {
if (!data.status) {
// inject into response
$('.response').addClass('error').html(data.message).show();
}
else
{
// redirect them to home page, i assume
window.location.href = '/home';
}
}
});