2013-05-08 70 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(); 

?>