2012-06-20 29 views
5

Trong một bộ điều khiển trong CI bạn có thể nhận được tất cả các biến bài bằng cách làm một cái gì đó như thế này:Có thể nhận tất cả các biến bài đăng trong ExpressionEngine, giống như bạn có thể trong CodeIgniter không?

$data = $this->input->post(); 

Trong EE (được xây dựng tắt của CI bởi những người giống nhau) cú pháp tương tự sẽ là:

$data = $this->EE->input->post(); 

Vấn đề duy nhất là thay vì một mảng với tất cả các dữ liệu, bạn nhận được một boolean sai.

Có cách nào để nhận một mảng dữ liệu bài đăng, sử dụng ExpressionEngine thay vì POST superglobal không?

Cảm ơn.

+1

Nếu bạn có mã nguồn, đọc nó từ đó. Nó không được đề cập trong tài liệu và tôi không biết phải lấy nguồn từ đâu. – Esailija

+0

Cảm ơn. Có một giải pháp mà tôi chỉ loại cánh: foreach ($ _ POST là $ key => $ value) { $ data [$ key] = $ this-> EE-> input-> post ($ key); } Tính năng này hoạt động tốt, cho bất kỳ ai tìm thấy giá trị trong câu hỏi này –

+0

@Mike_K, đăng giải pháp của bạn dưới dạng câu trả lời và chấp nhận câu trả lời đó. –

Trả lời

6

Ok, cách để có được kết quả tương tự như CI trong EE cho tất cả các yếu tố của một POST, trong khi vẫn tận dụng các tính năng bảo mật của EE là như sau:

foreach($_POST as $key => $value){ 
    $data[$key] = $this->EE->input->post($key); 
} 

Vì bạn có thể truy cập POST vars theo tên , lặp qua chúng trong $ _POST, sau đó gọi một cách rõ ràng từng sẽ mang lại kết quả mong muốn.

Các vấn đề liên quan