個人用サイトの簡単なフィードバック送信フォームに取り組んでいます。次のエラーが表示されます
警告: ヘッダー情報を変更できません - /home/content/92/9339092/html/Pages/ の (/home/content/92/9339092/html/Pages/ArabicRootMachine/feedbackTEST.php:200 で開始された出力) によって既に送信されたヘッダー226 行目の ArabicRootMachine/feedbackTEST.php*
出力をバッファリングするために ob_start() を追加しようとしましたが、うまくいきませんでした。PHP スクリプトの先頭に header() 呼び出しを配置すると、フォームは機能して電子メールを送信しますが、サンキュー ページにリダイレクトされません。このエラーをスローする可能性のある明白な何かがあるかどうかを確認することをいとわない優れた哺乳動物はいますか?
注: 行 200 はスクリプトの開始 (php 開始タグ)、行 226 はヘッダー呼び出しです。
<?php
include('./includes/title.inc.php');
require_once('./includes/recaptchalib.php');
$public_key = '****************************************';
$private_key = '****************************************';
$errors = array();
$missing = array();
// check if the form has been submitted
if (isset($_POST['send'])) {
// email processing script
$to = 'blahblah@gmail.com';
$subject = 'Feedback on Root Machine';
// list expected fields
$expected = array('name', 'email', 'comments');
// set required fields
$required = array('name', 'email', 'comments');
// create additional headers
$headers = "From: My Next Bit<feedback@mynextbit.com>\r\n";
$headers .= 'Content-Type: text/plain; charset=utf-8';
$response = recaptcha_check_answer($private_key, $_SERVER['REMOTE_ADDR'], $_POST['recaptcha_challenge_field'], $_POST['recaptcha_response_field']);
if (!$response->is_valid) {
$errors['recaptcha'] = true;
}
require('./includes/processmail.inc.php');
if ($mailSent) {
header('Location: http://www.mynextbit.com/Pages/ArabicRootMachine/thank_you.php');
exit();
}
}
?>
**.inc.php ファイルのいずれかが必要な場合はお知らせください。どんな助けにも感謝します。