1

我在页面上有一个表单来提交评论,一旦用户发表评论,我希望它重新加载页面。

这就是我得到的

      $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

它引用的行是我在上面发布的代码。我不确定发生了什么,它会按照我想要的方式重新加载页面,但会抛出该错误

4

2 回答 2

0

一旦您已经回显了内容(在第 56 行),您就不能发送标头。那个头函数。不过,您可能希望使用模板引擎并在文件末尾回显已编译的模板。

另一种解决方案是使用http://php.net/manual/de/function.ob-start.php捕获输出并在之后刷新它。

于 2013-05-08T18:02:02.207 回答
0

在您的代码顶部:

<?php
ob_start();

?>
于 2013-05-08T17:58:02.563 回答