无法修改标头信息

max*_*ax_ -6 php mysql redirect header

可能重复:
PHP已发送的标头

我从以下代码中收到以下错误,我不完全确定原因.如果你能告诉我如何修复它,那就太好了.提前致谢.

警告:无法修改标题信息 - 第45行已经发送的标题(输出从...开始).

<?php


    // Initialization
    $conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
    mysql_select_db(DB_NAME, $conn);

    // Error checking
    if(!$conn) {
        die('Could not connect ' . mysql_error());
    }

    // Localize the GET variables
    $ref  = isset($_GET['ref']) ? $_GET['ref'] : "";

    // Protect against sql injections
    // Insert the score
    $retval = mysql_query("INSERT INTO $table(
            site
        ) VALUES (
            '$ref'
        )",$conn);

    if($retval) {
        echo "Successfull";
    } else {
        echo "Unsuccessfull " . mysql_error();
    }

    mysql_close($conn);
?>
<?php
$url = $_GET['url'];
    $loc = 'Location: '. $url;
    header($loc);
exit;
?>
Run Code Online (Sandbox Code Playgroud)

DSh*_*ook 6

取出echo呼叫,你不能在标题之前向浏览器发送信息.

您可以尝试这样的事情来显示是否发生错误:

if(!$retval) {
    echo "Unsuccessfull " . mysql_error();
}
Run Code Online (Sandbox Code Playgroud)