启用查询字符串访问只选择几个Controller函数?

时间:2014-02-03 16:05:27

标签: codeigniter

在几页中我需要进行分页。这当然可以通过URI段实现,但在极少数情况下除了分页参数之外,我还需要传递一些其他GET参数以进行过滤。

所以显然在这种情况下我需要能够通过查询字符串访问控制器,如下所示:

example.com/?c=controller&m=function

为了实现这一点,我在主配置文件中将enable_query_strings设置为TRUE。

这似乎有效,但我发现它打破了一堆不同的东西。例如,如果我使用current_url(),则返回的URL在末尾有?以容纳查询字符串。因此,如果我在表单中使用它,它就不起作用。

那么有没有办法让控制器只能对指定的函数访问控制器函数?

2 个答案:

答案 0 :(得分:1)

你可以像这样构建你的网址:

/param1/param2/pagination_parameters

因此,您只需使用URI段即可发送自定义数据(参数数量)和分页数据。

  

例如,如果我使用current_url(),返回的URL有一个?在末尾   容纳查询字符串。因此,如果我在表单中使用它,它不会   工作

请注意,您还可以离开表单' action'如果你使用了current_url()(http请求将转到同一个脚本),那么结果将是相同的。

答案 1 :(得分:0)

不要在主配置中启用enable_query_strings,只需在分页配置中启用。因此它仅适用于该特定页面。

例如:

$config['page_query_string'] = TRUE;