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 に答える