2013-10-05 29 views
0

我最近上傳了我的網站的新文件和標題(位置)調用不起作用。 這是顯示的錯誤代碼:「警告:無法修改頭文件信息 -/home/content/29中已經發送的頭文件(輸出開始於/home/content/29/11516329/html/discount/truth.php:12) /11516329/html/discount/truth.php第18" 行標題(位置)問題一旦文件上傳

這裏是我使用的代碼:

<?php 
    ob_start(); 

    $code = $_POST['code']; 
    $secret=("abcdefg"); 
    if ($code == $secret) 
     { 
     header('Location:output.php'); 
     } 
    else 
     { 
     echo "wrong code"; 
     } 

    ob_end_flush(); 
    ?> 

這是爲我工作我的本地主機上,但由於某些原因,一旦它被上傳它不會工作了。有關如何解決它的任何建議?

+1

檢出http://stackoverflow.com/questions/8028957/headers-already-sent-by-php/8028987#8028987 –

+0

SO有大約100萬個這個問題的答案,就像上面提到的那樣。我不相信這沒有出現在搜索中。 https://www.google.com/?gws_rd=cr&ei=xXpPUtHcC6q44ASnj4GgAQ#q=site:stackoverflow.com+headers+already+sent –

+0

它做了它,只是我嘗試了類似問題中提出的答案,但他們都沒有工作。 – user2758281

回答

1

我會重複已經在StackOverflow上多次說過的話。 如果在標頭函數之前向瀏覽器輸出任何內容,則不能使用PHP header()函數。

header()的替代方法是HTML元刷新。

<?php 
echo '<meta http-equiv="refresh" content="0; output.php">'; 
?> 

注: 使用元刷新是由W3C灰心了,但這時,它是,如果你不想玩弄的Javascript太多的唯一選擇。