0

重複の可能性:
PHPによってすでに送信されているヘッダー

作成しているアプリのJSONAPIを作成しようとしています。PHPです。PHPスクリプトの最初に、すべてのGETパラメーターが存在するかどうかを確認しようとします。存在しない場合、サーバーは400-BadRequestヘッダーを送信する必要があります。

コードは次のようになります。

//CHECK CONDITIONS
if (isset($GET["clat"]) && isset($GET["clng"]) && isset($GET["limit"]))
{
//do stuff
} else {
header( "HTTP/1.0 400 Bad Request");
exit;
}

サーバーは、200-OKヘッダーのある空のページを提供するだけです。そこで、別のWebサーバーでテストしたところ、機能しているようです。

どうやらサーバーに何か問題があるようです。この問題のデバッグを回避するにはどうすればよいですか?

編集 私はヘッダーが常に200-OKになる原因となっている行を見つけたようです。PHPの最初に、いくつかのmySQL接続パラメーターを含む別のphpファイルを含めます。私がその行をコメントアウトすると、include 'setup.php';それは機能します。setup.phpには次のものが含まれています。

 // Connects to Our Database 
 mysql_connect("#####", "#####", "######") or die(mysql_error()); 
 mysql_select_db("####") or die(mysql_error()); 

後で別のHTTPヘッダーを送信できるようにしながら、外部DB情報を含めたままにするにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

1
header( "HTTP/1.0 400 Bad Request", true, 400);
于 2012-10-10T13:22:41.330 に答える
1

含まれているファイルにUTFBOMが含まれていないかどうかを確認します。ファイルの最初に、終了後にテキストが含まれている場合は、PHPが自動的にヘッダーを送信するためです。

于 2012-10-10T14:11:32.733 に答える
0

この方法を試してください:

<?php
header("Status: 400 Bad Request");
?>
于 2012-10-10T13:23:27.000 に答える