3 つの URL に Cookie を設定する単純な PHP ページがあります。問題は、ヘッダー情報をまったく送信していないにもかかわらず、ヘッダー エラーが発生することです。これらのエラーを発生させずに以下の PHP を記述するにはどうすればよいですか?
完全な PHP コード:
<?php
if ($_GET["validate"] == 1)
{
setcookie("siteaccess", "AccessGranted", time()+(36*1*1), "/", "b********.com", 0); //Access granted
setcookie("siteaccess", "AccessGranted", time()+(36*1*1), "/", "b********.net", 0);
setcookie("siteaccess", "AccessGranted", time()+(36*1*1), "/", "b********.zxq.net", 0);
$page = urldecode($_GET["preturn"]);
echo '<meta http-equiv="Refresh" content="0;' . $page . '">';
}
else
{
echo "Illegal page access";
}
?>
ページ読み込み時のエラー:
Warning: Cannot modify header information - headers already sent by (output started at /www/zxq.net/b/i/t/bitfracture/htdocs/authenticate.php:2) in /www/zxq.net/b/i/t/bitfracture/htdocs/authenticate.php on line 4
Warning: Cannot modify header information - headers already sent by (output started at /www/zxq.net/b/i/t/bitfracture/htdocs/authenticate.php:2) in /www/zxq.net/b/i/t/bitfracture/htdocs/authenticate.php on line 5
Warning: Cannot modify header information - headers already sent by (output started at /www/zxq.net/b/i/t/bitfracture/htdocs/authenticate.php:2) in /www/zxq.net/b/i/t/bitfracture/htdocs/authenticate.php on line 6
ページ読み込み時の URL:
http://b*******.com/authenticate.php?preturn=%2Fcaptcha%2Findex.php&validate=1
詳細説明: このページは、私のサイトにアクセスできる 3 つの URL すべてに Cookie を設定します。このページは、ユーザーが簡単なアンチ ロボット テストを完了した後に読み込まれます。このテストは、ダウンロード カウンターへのロボット スパムを防止するために作成されています。Cookie が設定されると、このページは、最初にここに送信されたページにリダイレクトされます。その後、Cookie が配置されるため、ユーザーには認証キャプチャが表示されなくなります。
さらに情報を提供する必要がある場合はお知らせください。Cookie を正しく設定できるように、これらのエラーを解消するだけで済みます。