Làm cách nào để phát hiện phương thức HTTP trong lớp bộ điều khiển CodeIgniter?Cách phát hiện phương thức HTTP trong CodeIgniter
Đã chỉnh sửa: Có cách nào khác ngoài việc sử dụng $_SERVER['REQUEST_METHOD']
trong CodeIgniter không?
Làm cách nào để phát hiện phương thức HTTP trong lớp bộ điều khiển CodeIgniter?Cách phát hiện phương thức HTTP trong CodeIgniter
Đã chỉnh sửa: Có cách nào khác ngoài việc sử dụng $_SERVER['REQUEST_METHOD']
trong CodeIgniter không?
Nhờ Branden, tôi đã tìm thấy câu trả lời. $this->input->server($index)
giống hệt với $_SERVER[$index]
.
Để có phương pháp bạn có thể sử dụng: $this->input->server('REQUEST_METHOD')
.
UPDATE: (nhờ Ecir Hana)
Tính đến CodeIgniter 3, sử dụng của method cũng có thể:
echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post
Bạn có thể phát hiện GET và POST bằng cách sử dụng thư viện Nhập liệu.
$this->input->post()
hoặc $this->input->get()
thông tin có thể tìm thêm: http://ellislab.com/codeigniter%20/user-guide/libraries/input.html
Từ tài liệu '$ this-> input-> post(); // trả về tất cả các mục POST không có bộ lọc XSS' để điều này không thực sự trả lời câu hỏi. Vì nó nhận dữ liệu thay vì phát hiện phương thức HTTP. –
Không hoạt động nếu yêu cầu (bài đăng chẳng hạn) không chứa bất kỳ dữ liệu nào. – Korri
Trong CodeIgniter 3, bạn có thể sử dụng method uhm ... phương pháp của lớp đầu vào.
Từ các tài liệu:
echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post
thể trùng lặp của [PHP phát hiện loại yêu cầu (GET, POST, PUT hoặc DELETE)] (http://stackoverflow.com/questions/359047/php-detecting-request -type-get-post-put-or-delete) – Esailija
Tôi biết điều đó, nhưng có đúng là sử dụng biến '$ _SERVER' trong CodeIgniter không? –
giống như bạn sử dụng bất kỳ biến nào khác – Esailija