2

PHP は[]クエリ パラメータ名で使用して、複数回出現するパラメータがすべて$_GETスーパーグローバル変数に存在するようにします。(それ以外の場合、最後のオカレンスのみが存在します。) (他のソフトウェアはそれを行いますか?)

しかし、RFC 3986 (およびその他) からは、クエリ文字列ではどちらも許可され[ていないようです。]

それでも、さまざまなブラウザーを使用した私の実験では、これらの文字をエンコードするブラウザーはなく、URI にそのように存在することが示唆されました...

これは実際の生活習慣ですか?または、間違ってテストしていますか?IIS 7 で PHP 5.3.17 をテストしました。Internet Explorer、Firefox、および Chrome を使用しました。$_SERVER['QUERY_STRING']次に、との中身を比較しました$_GET

4

1 に答える 1

1

それは一般的な慣行です。これは配列をバックエンド スクリプトに渡す方法であり、ASP と PHP で動作します (ASP.net でテストしたことはありませんが、2004 年まで ASP を使用していたときは一般的な方法でした)。私の知る限り、javascript などを使用しない限り、配列をスクリプトに渡す別の方法はありません.join

HTML フォーム内で配列を使用してバックエンドに渡す方法のリファレンスの 1 つとして、http://www.thefutureoftheweb.com/blog/use-arrays-with-html-form-inputsを参照できます。ただし、公平を期すために、ほとんどの場合、「GET」ではなく「POST」と組み合わせて使用​​されます。

于 2012-10-17T06:21:37.803 に答える