2013-05-08 3 views
1

페이지에 양식을 달아 의견을 제출하고 사용자가 의견을 입력하면 페이지를 새로 고침하고 싶습니다.PHP 리로드 현재 페이지 양식 제출

이것은 내가, 그것은 작동

 $insertGoTo = "employer.php?employer=" . $row_employer_page['employer'] . ""; 
    if (isset($_SERVER['QUERY_STRING'])) { 
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; 
    $insertGoTo .= $_SERVER['QUERY_STRING']; 
    } 
    header(sprintf("Location: %s", $insertGoTo)); 
} 

있어하지만 내가 제출에이 오류가 발생했습니다 것입니다.

Notice: Undefined variable: row_employer_page in /u/students/m/*******/public_html/cis231/project/employer.php on line 51 

Warning: Cannot modify header information - headers already sent by (output started at /u/students/m/*******/public_html/cis231/project/employer.php:51) in /u/students/m/*******/public_html/cis231/project/employer.php on line 56 

위의 코드는 위에 게시 한 코드입니다. 이미 내용을 에코 일단 당신은 헤더를 보낼 수 없습니다

<?php 
ob_start(); 

?> 
+0

"headers already sent"는 일반적으로 브라우저에 이미 출력 된 내용 (공백 만 포함될 수 있음)을 의미하지만, 여전히 새로운 헤더를 출력하기에는 너무 늦었다는 것을 의미합니다. 조기 출력을 제거하십시오. – Blazemonger

+1

첫 번째 오류는 무엇이 잘못 되었습니까? – Populus

+0

두 가지 오류 모두 같은 문제에서 비롯된 것이므로 첫 번째 오류가 발생해서는 안됩니다. 나는 $ insertGoTo = "employer.php"만 필요했다. "그리고 자동적으로'? employer = XXX'을 만들었습니다. – Ch0ppy35

답변

0

: 나는 코드의 상단에 해당 오류

+0

나는'$ insertGoTo ="employer.php "만 필요했다. '? employer = XXX' 이미 반영 되었기 때문에 도움을 주셔서 감사합니다! – Ch0ppy35

0

을, 그것이 내가 할 방법 페이지를 다시로드 일어나고 있지만 던져 있는지 확실하지 않다 (라인 56에서). 헤더 기능. 템플릿 엔진을 사용하고 파일의 끝에 컴파일 된 템플릿을 반향시킬 수 있습니다.

또 다른 해결 방법은 http://php.net/manual/de/function.ob-start.php으로 출력을 캡처하고 나중에 플러시하는 것입니다.