2012-06-25 1 views
32

CodeIgniterコントローラクラスでHTTPメソッドを検出するにはどうすればよいですか?CodeIgniterでHTTPメソッドを検出する方法

編集: CodeIgniterので$_SERVER['REQUEST_METHOD']を使用するよりも、他の方法はありますか?

+1

可能重複http://stackoverflow.com/questions/359047/php-detecting-request -Type-get-post-put-or-delete) – Esailija

+0

私はそれを知っていますが、CodeIgniterで '$ _SERVER'変数を使用するのは本当ですか? –

+0

他の変数を使用しているようです – Esailija

答えて

52

おかげで、私は答えを見つけました。 $this->input->server($index)$_SERVER[$index]と同じです。

メソッドを取得するには、$this->input->server('REQUEST_METHOD')を使用できます。

UPDATE:CodeIgniterの3のようEcir Hanaのおかげで)

methodの使用も可能である:CodeIgniterの3で

echo $this->input->method(TRUE); // Outputs: POST 
echo $this->input->method(FALSE); // Outputs: post 
echo $this->input->method(); // Outputs: post 
4

入力ライブラリを使用すると、GETとPOSTを検出できます。

$this->input->post()または$this->input->get()

詳しい情報を見つけることができます:Brandenさんへhttp://ellislab.com/codeigniter%20/user-guide/libraries/input.html

+6

ドキュメント '$ this-> input-> post(); // XSSフィルタなしですべてのPOST項目を返します。 'これは実際に質問に答えるものではありません。 HTTPメソッドを検出する代わりに、データを取得するためです。 –

+1

(postなどの)要求にデータが含まれていないと機能しません。 – Korri

14

、あなたはmethodオム...メソッドを使用することができます入力クラスの。ドキュメントから

echo $this->input->method(TRUE); // Outputs: POST 
echo $this->input->method(FALSE); // Outputs: post 
echo $this->input->method(); // Outputs: post 
([PHPは、要求タイプ(GET、POSTは、PUTまたはDELETE)を検出]の
関連する問題