2012-04-27 31 views
1

是否有一種方法可以在一個控制器或一個函數中啓用查詢字符串。 例如,我想在搜索功能中使用查詢字符串,並在所有其他字段中使用查詢字符串。在Codeigniter中啓用每個控制器的查詢字符串

有沒有辦法做到這一點?

我可以做這樣的事情:

$this->config->set_item('uri_protocol', 'PATH_INFO'); 
$this->config->set_item('enable_query_strings', TRUE); 
+0

爲什麼你想在第一個地方使用查詢字符串?您可以使用段而不是查詢字符串來傳遞CI方式的數據。 example.com?first=cheese&second=pizza像這樣完成CI方式 - example.com/controller/method/cheese/pizza。 – Catfish 2012-04-27 21:31:08

+0

p.s.歡迎來到堆棧溢出。 – Catfish 2012-04-27 21:32:47

回答

5

一個簡單的方式實現這一目標是通過解析服務器查詢字符串像這樣。

$get_data = array(); 

parse_str($_SERVER['QUERY_STRING'], $get_data); 

這會給你一個充滿數據的非常不安全的數組,所以你應該使用CI的安全類來使它更安全;如此喜歡;

$get_data = $this->security->xss_clean($get_data); 

這並不意味着路由通過GET工作,只允許您安全地獲取GET變量。

+0

非常感謝。這個答案爲我挽救了幾個非常糟糕的選擇。 – NobleUplift 2013-10-14 15:48:39

相關問題