【发布时间】:2010-05-03 01:50:40
【问题描述】:
我知道 CI 主要是基于 URL 段的,但我想要一个查询字符串:blahblah.com/search.html?q=keyword
当我尝试 $this->input->get( "q" ) 时,它返回空。有什么路线需要配置吗?
【问题讨论】:
标签: codeigniter get
我知道 CI 主要是基于 URL 段的,但我想要一个查询字符串:blahblah.com/search.html?q=keyword
当我尝试 $this->input->get( "q" ) 时,它返回空。有什么路线需要配置吗?
【问题讨论】:
标签: codeigniter get
【讨论】:
您必须启用查询字符串
CodeIgniter 可选择支持此功能,可以在您的 application/config.php 文件中启用。如果你打开你的配置文件,你会看到这些项目:
$config['enable_query_strings'] = 错误;
$config['controller_trigger'] = 'C';
$config['function_trigger'] = 'm';
如果您将“enable_query_strings”更改为 TRUE,此功能将激活。然后,您的控制器和函数将可以使用您设置为调用控制器和方法的“触发器”字来访问:
index.php?c=controller&m=method
示例:index.php?c=products&m=view&id=345
【讨论】:
在 CodeIgniter 中获取查询字符串的最佳方法是使用 Google。每天至少 10 次在论坛、此处和推特上提出(并回答)这个问题。
有几种方法,但最近我很喜欢以下方法:
http://www.dijexi.com/2009/08/how-to-mix-segment-and-query-string-in-codeigniter/
与其他方法相比,我更喜欢这种方法,因为它不会像其他一些方法那样对应用程序产生影响,并且不需要任何疯狂的黑客攻击来使其工作。
如果您希望整个应用程序都支持 $_GET,只需将 parse_str 放入 MY_Controller 或 pre_controller 挂钩。
【讨论】:
POST 来解决这个问题呢?