2013-05-08 66 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 

它引用的行是我在上面發佈的代碼。我不知道這是怎麼回事,它重裝我多麼希望的頁面,但拋出的錯誤

+0

」已經發送的頭文件「通常意味着某些內容已經輸出到瀏覽器 - 可能只有空白,但這意味着輸出新頭文件的時間太晚了。去除過早的輸出。 – Blazemonger 2013-05-08 17:57:37

+1

對於第一個錯誤,它清楚地說明最新錯誤,所以修復你自己。 – Populus 2013-05-08 17:57:55

+0

這兩個錯誤都來自同一個問題,並且第一個錯誤不應該發生。 原來我只需要'$ insertGoTo =「employer.php」;'它自動做了'?employer = XXX' – Ch0ppy35 2013-05-08 18:09:21

回答

0

一旦你呼應的內容已經不能發送頭(在第56行)。該標題功能。您可能需要使用模板引擎,並在文件末尾回顯已編譯的模板。

另一種解決方案是用http://php.net/manual/de/function.ob-start.php捕獲輸出,然後刷新它。 「

+0

原來我只需要'$ insertGoTo =「employer.php」;'它自動做了'?僱主= XXX' 既然它已經被呼應 感謝您的幫助! – Ch0ppy35 2013-05-08 18:04:59

0

在你的代碼的頂部:

<?php 
ob_start(); 

?>