php标头位置重定向方法无法正常工作

时间:2013-11-26 16:54:29

标签: php

    <?php
    if(isset($_SESSION['logged_in']))
    {
            header('Location: test.php');
echo "test";
    ?>

    <?php
    }
    else
    {
    ?>
            <a href="#" onclick="CallAfterLogin();"><img src="facebook-login-button.png" border="0" alt="Log in with Facebook"></a>

    <?php } ?>

用户登录后,我访问此文件,它不会重定向。我想知道它确实出现了回声而不是重定向。

2 个答案:

答案 0 :(得分:0)

根据您的代码判断,您似乎正在尝试将此重定向发生在页面中间 - 您必须在进行任何输出之前进行重定向。由于这是在a代码之前,我假设您已经在某个时刻发送了<html>代码。

<?php //headers ok here ?>
<!DOCTYPE html>
<?php
  // Too late for headers already.

答案 1 :(得分:-1)

试试这个

    <?php
    ob_start();
        if(isset($_SESSION['logged_in']))
        {
                header('Location: test.php');
    echo "test";
        ?>

        <?php
        }
        else
        {
        ?>
                <a href="#" onclick="CallAfterLogin();"><img src="facebook-login-button.png" border="0" alt="Log in with Facebook"></a>

        <?php }
ob_end_flush();
 ?>