-3

挿入は、ヘッダーのリダイレクトなしでテストされたとおりに完全に機能します。私の問題は、オブジェクト指向のアプローチでMYSQLIを使用していて、まだ慣れていないことです。そこにヘッダーリダイレクトがあると、ブラウザに表示されます

「警告: ヘッダー情報を変更できません - /home/hawkwsco/public_html/admin/include/library の (/home/hawkwsco/public_html/admin/include/template/doc.inc.php:1 で開始された出力) によって既に送信されたヘッダー/functions/process/process.inc.php 10 行目"

私のコードは以下の通りです:

<?php
require ($_SERVER['DOCUMENT_ROOT'].'/admin/include/config/config.inc.php');
$query = ("INSERT INTO page(pa_id, pa_page, pa_page_info) VALUES ('NULL', '{$_POST['page']}', '{$_POST['info']}')");
$mysqli->query($query);
header("Location: http://".$_SERVER['SERVER_NAME']."/admin/content.php");
exit;
?>

私は何を間違っていますか?

4

1 に答える 1

2

あなたがインクルードしているファイルには、出力されるテキストが含まれている可能性が高く(ファイルの最後の改行でも十分です)、ヘッダーが送信される前に出力が開始されます。この問題を回避するために、通常、インクルードの最後に ?> がないことを確認します。

または、出力バッファリング (ob_start()) を使用して、準備が整うまで出力が送信されないようにすることもできます。ob_start() は、出力を有効にする前に呼び出す必要があります。

于 2013-05-03T04:31:21.623 に答える