2011-08-04 13 views
3
<form method="POST" action="/index?key=1"> 
<input type="text" name="another_key" value="2" /> 
</form> 
私は、このようなフォームを送信して CGI->new->param('key')GETパラメータを取得しようとしている

CGIでPOSTメソッドを使用してフォームを送信すると、GETパラメータが失われますか?

それは動作しません。..

できCGIの仕事の両方GETPOSTパラメータが存在しますか?

+0

私はCGIで作業していませんが、GETまたはPOSTで解決するのはなぜですか?いくつかの検索操作を実行する場合はGETを使用し、一部のデータベースに書き込む場合はPOSTを使用します。 – midhunhk

+0

@ silverback、彼はいつもPOSTをやっています。彼はあなたがGETのようにいくつかのパラメータをURLに入れたいだけです。 POST URLにクエリコンポーネントを含めることはできないというルールはありません。ここでの質問は、そのクエリコンポーネントからパラメータにアクセスする方法です。 – cjm

答えて

5

POST要求の場合、CGIのparamメソッドはPOSTパラメータのみを取得しますが、URLから「GET」パラメータを提供する代替url_paramメソッドがあります。

これはファイルのアップロードに非常に役立ちます。投稿要求が大きすぎる場合は完全に破棄されますが、urlパラメータによってどのようなアップロードが行われたのかがわかるため、正しいコンテキストでエラーメッセージを表示できます。

+0

'url_param'はGETリクエストでも動作しますか? – asker

+0

は決して試したことがなく、文書ではわかりません。 – ysth

関連する問題