2012-06-25 15 views
32

CodeIgniter denetleyici sınıfında HTTP yöntemini nasıl algılayabilirim?CodeIgniter'de HTTP yöntemi nasıl algılanır

Düzenlendi: CodeIgniter'daki $_SERVER['REQUEST_METHOD'] kullanmaktan daha başka bir yolu var mı?

+1

olası yinelenen http://stackoverflow.com/questions/359047/php-detecting-request -type-get-post-put-or-delete) – Esailija

+0

Bunu biliyorum, ama CodeIgniter '$ _SERVER' değişkenini kullanmak doğru mu? –

+0

diğer değişkenleri kullandığınız gibi – Esailija

cevap

52

Teşekkür, cevabı buldum. $this->input->server($index), $_SERVER[$index] ile aynıdır.

Yöntem almak için $this->input->server('REQUEST_METHOD') kullanabilirsiniz.

GÜNCELLEME:, method kullanımı da mümkündür CodeIgniter 3 itibariyle

(teşekkürler Ecir Hana kadar):

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

Girdi kütüphanesini kullanarak GET ve POST'u tespit edebilirsiniz.

$this->input->post() veya $this->input->get()

fazla bilgi bulunabilir: Branden için http://ellislab.com/codeigniter%20/user-guide/libraries/input.html

+6

Docs '$ this-> input-> post(); // XSS filtresiz tüm POST öğelerini döndürür. Bu, soruyu gerçekten yanıtlamaz. HTTP yöntemini algılamak yerine veri aldıkça. –

+1

(Örneğin, örneğin) isteği herhangi bir veri içermiyorsa çalışmaz. – Korri

14

CodeIgniter 3, sen method uhm ... yöntemini kullanabilirsiniz Giriş Sınıfı Dokümanlar

:

echo $this->input->method(TRUE); // Outputs: POST 
echo $this->input->method(FALSE); // Outputs: post 
echo $this->input->method(); // Outputs: post 
([PHP istek türünü (GET, POST, PUT veya DELETE) tespit] arasında