我在页面上有一个表单提交评论,一旦用户发表评论,我希望它重新加载页面。
这就是我得到的
$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 :(得分:0)
在代码的顶部:
<?php
ob_start();
?>
答案 1 :(得分:0)
一旦您回复了内容,就无法发送标题(在第56行)。那个头功能。您可能希望使用模板引擎,并在文件末尾回显已编译的模板。
另一个解决方案是使用http://php.net/manual/de/function.ob-start.php捕获输出并在之后将其刷新。