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

message box in PHP and navigation to another page

本文关键字:导航 另一个 消息 PHP      更新时间:2023-09-26

我正在用PHP创建一个登录页面。输入错误的用户名/密码时,我会显示一个javascript警告框。我现在想通过点击警报框的"确定"按钮将用户导航回登录页面。我使用的是"header(location:url)",但javascript代码不起作用。还有别的办法吗。

你可以试试这个

echo "<script language='javascript' type='text/javascript'>alert('error');  
      </script>";
 echo "<meta http-equiv='refresh' content='1; URL=login.php'>";

对于JS重定向,请尝试;

window.location.href="http://url";

希望这有帮助:)

将此代码放入登录错误页面。。

<script>
 alert('Wrong Username/Password');
 window.location = "http://www.google.com";
</script> 

但是,如果您熟悉jquery,我建议您使用ajax请求进行登录过程,并在同一页面中显示通知,而不是来回导航。

如果你需要,我可以在plnkr 中创建一个简单的

对于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<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'; } } });