为什么页面在重定向后仍在加载?

问题描述 投票:0回答:2

我有一个奇怪的问题,我无法找出导致此行为的原因。

我有一个名为dashboard.php的页面,其中有以下代码:

mail('[email protected]', 'Dashboard 1', 'isLoggedin = ' . $isLoggedIn);

if(!$isLoggedIn) {
  header("Location: https://example.com/account/login.php");
}

mail('[email protected]', 'Dashboard 2', 'Dashboard 2');

如果用户没有登录dasboard.php页面,他必须被重定向到login.php页面。

当我未登录并转到dashboard.php时,发生了以下情况:

  1. 我收到第一封邮件,其中 isLoggedin 为空(这当然是正确的)
  2. 我被重定向到了 login.php 页面,这也是正确的
  3. 我收到了第二封“Dashboard 2”邮件,我不明白。

为什么我收到第二封邮件,但我被重定向到login.php,所以dashboard.php 中的脚本不应该到达这么远?为什么重定向后的脚本仍在运行?

php authentication http-redirect
2个回答
0
投票

尝试使用 exit();或死();完成渲染页面并转到标题旁边。这可能是解决方案。

死于 PHP

在 PHP 中退出


0
投票

如 php.net 文档中所示,您必须

exit;
您的脚本,否则它将被执行。

© www.soinside.com 2019 - 2024. All rights reserved.