Php 标头在本地工作,但不在线
我在一个机构门户网站上工作,但我的标题出现了问题,特别是当你正常登录时,你会被重定向到仪表板的第一页 当我在本地运行代码时,它工作得非常好,并将我重定向到仪表板,但如果我将代码上载到主机并测试代码,则会出现以下错误:Php 标头在本地工作,但不在线,php,Php,我在一个机构门户网站上工作,但我的标题出现了问题,特别是当你正常登录时,你会被重定向到仪表板的第一页 当我在本地运行代码时,它工作得非常好,并将我重定向到仪表板,但如果我将代码上载到主机并测试代码,则会出现以下错误: Warning: Cannot modify header information - headers already sent by (output started at directoryname:11) in directoryname on line 75 这是我在log
Warning: Cannot modify header information - headers already sent by (output started at directoryname:11) in directoryname on line 75
这是我在login.php文件中运行的代码
if(password_verify($pass, $row["password"]))
{
$_SESSION["valid"] = $user;
$_SESSION['username'] = $row['username'];
$_SESSION['userid'] = $row['userid'];
echo '<div class="alert alert-success" role="alert">Logged in successfully</div>';
header("refresh: 1; url=https://portal.habbofests.com/v1/index.php?page=dashboard");
exit;
}
在标题重定向之前,不要使用echo或print 除此之外。 您可以在场景中使用以下内容:
<?php
if(password_verify($pass, $row["password"]))
{
$_SESSION["valid"] = $user;
$_SESSION['username'] = $row['username'];
$_SESSION['userid'] = $row['userid'];
echo '<div class="alert alert-success" role="alert">Logged in successfully</div>';
?>
<script>
window.location.href = 'https://portal.habbofests.com/v1/index.php?page=dashboard';
</script>
</php } ?>
还有什么还不清楚,在你研究了错误消息的核心措辞之后?当我在本地运行代码时,它工作得非常好-不,它的工作原理是一样的。区别可能在于错误报告配置,因此您的本地服务器没有向您显示警告,但警告仍然存在。这是否回答了您的问题?“我试着研究,但找到了相关的答案”-它们在哪里无关紧要?您不应该在使用header之前创建任何输出,这肯定在您的发现中提到过吗?“除了meta,因为我在脚本中不止一次需要它”-这与任何事情有什么关系?您不会同时需要多个这样的重定向,因为这也没有意义-因此,创建适当的元元素进行刷新,在你需要它的地方…不要创建任何其他的。一个不这样做的原因将把它从一个评论变成一个非常有用的答案,但是它的删除将允许自动清理脚本删除这个已经问过的问题,因为当你回显、打印或有任何php脚本之外的html时,它已经关闭了,邮件头会立即发送,因此在更改后无法更改,更改后仍然会收到相同的邮件头error@Devin更新了我的答案,也试试这个