dtl4521 2017-04-18 21:00
浏览 33
已采纳

在函数内调用时,标头不起作用

I have created a php file named public.php and have added few functions to it to reduce code redundancy. One of the functions is as follows.

/**
 * Checks if there is a valid session and navigates to the login page if false.
 * @return boolean true if session valid.
 */
function checkSession_auto() {
    if (checkSession()) {
        return true;
    } else {
        //echo 'pass'; exit;
        header("location: accounts/login.php");
    }
}

I have verified that the checkSession() returns false, using an echo statement. Here's the problem.

The page does not navigates to login.php. Why?

Thanks in advise!

  • 写回答

1条回答 默认 最新

  • douhan0562 2017-04-18 21:37
    关注

    Problem solved by adding exit statement after header($string), read this comment.

    It seems that the exiting is mandatory after sending a location header unless you do not have any code (PHP or HTML) under header.

    The header is only a line of data asking the browser to redirect. The rest of the page will still be served by PHP and can be looked at by the client by simply preventing the header command from executing.

    Resources;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题