【发布时间】:2019-04-25 18:24:36
【问题描述】:
我有一个部分,如果会话变量用户名不存在,应用程序应该输出一条错误消息,指出需要凭据,然后将用户重定向到登录页面。问题是,只有后者正在发生,并且没有输出“错误消息”。
<?php if (!isset($_SESSION['username'])){
ob_start();
echo "<script type='text/javascript'>alert('Not logged in. Please input required credentials.');</script>";
header('location: /se7en/login.php');
ob_end_flush();
}
?>
我尝试使用 输出缓冲区 来解决这个问题,但是,同样的问题一直在发生。请问这个怎么解决?
非常感谢!
【问题讨论】:
-
在设置标题之前你不应该输出任何东西,并且你试图从你试图显示输出的页面重定向......因为你正在使用会话变量(或缺少),你为什么不只是检查你重定向到的页面并在那里显示文本?
-
如何使用 javascript 进行重定向?
window.location.replace("/se7en/login.php"); -
就像@cteski 所说,您正在打印到一个页面,然后从该页面重定向。你永远不会看到那个消息。我会做一个回答,告诉你我通常是如何处理这个的
标签: php html header echo output-buffering