2013-10-05 4 views
0

최근에 내 웹 사이트에 새 파일을 업로드했으며 헤더 (위치) 통화가 작동하지 않습니다. 표시되는 오류 코드는 다음과 같습니다. "경고 : 헤더 정보를 수정할 수 없습니다 (이미 /home/content/29/11516329/html/discount/truth.php:12에 시작된 헤더가/home/content/29에 있음). 이 업로드되면파일 업로드 후 머리말 (위치) 문제

<?php 
    ob_start(); 

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

    ob_end_flush(); 
    ?> 
이 내 로컬 호스트에 있지만 어떤 이유로 나를 위해 일하는

: 라인 18에 /11516329/html/discount/truth.php "여기

내가 사용하고있는 코드입니다 그것은 더 이상 일하지 않을 것이다. 그것을 고치는 방법에 대한 제안?

+1

체크 아웃 http://stackoverflow.com/questions/8028957/headers-already-sent-by-php/8028987#8028987 –

+0

SO에는 위에서 언급 한 것과 마찬가지로이 질문에 대한 답변이 약 백만 가지입니다. 나는 이것이 수색에서 오지 않았다는 것을 믿지 못한다. 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에 의해 낙담하지만, 당신이 너무 많은 자바 스크립트 함께 놀러하지 않으려면 유일한 대안이다.