PHP中的消息框和导航到另一个页面

时间:2014-04-17 06:10:34

标签: javascript php

我正在用PHP创建一个登录页面。在输入错误的用户名/密码时,我显示的是一个javascript警告框。我现在想要在用户点击" OK"警报框按钮。我正在使用" header(location:url)",但后来javascript代码无效。 有没有其他方法可以做到这一点。

4 个答案:

答案 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'; } } });