【问题标题】:PHP header does not redirect back to starting pagePHP标头不会重定向回起始页面
【发布时间】:2020-09-23 02:51:52
【问题描述】:

This 没有回答我的问题)。

我试图在用户尝试登录后重定向到登录页面,这是我所做的:

<?php
ob_start();
session_start();
if ($loginSuccess)
{
    echo "Logged in: True";
    header("Location: index.php?status=1", true, 200);
}
else
{
    echo "Logged in: False";
    header("Location: index.php?status=0", true, 401);
}
ob_end_flush();
exit();
?>

但是当我尝试这个时,我得到的页面永远不会被重定向回发出请求的页面(index.php)

【问题讨论】:

  • 一个Location标头单独不会重定向,它需要伴随一个3xx状态码。但是根据你的截图,我们这里有什么? Status: 401
  • 哇,这就是问题所在?它与308一起工作,谢谢你的回答!

标签: php http-post


【解决方案1】:

尝试将此代码放在ob_start() 之前,因为有时已经调用了标头

ob_clean()

如果 ob_clean() 不起作用,则使用此更改为 javascript 重定向

echo "<script>window.location.href='index.php?status=1'</script>";

【讨论】:

  • 没有用,我不想在我的情况下使用 JavaScript,因为我在实际代码中返回一个 JSON 对象。
猜你喜欢
  • 2019-05-22
  • 2011-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多