可以将空URL参数传递给我的控制器吗?

时间:2012-12-05 03:13:05

标签: codeigniter url parameter-passing

假设我的控制器函数需要2个参数:page_name和user_name

网址格式为http://mysite.com/controller_name/function_name/page_name/user_name

假设有时候我可以有一个空白的user_name,有时候我可以有空白的page_name,我可以通过加载这个URL来传递空白的page_name吗? http://mysite.com/controller_name/function_name//user_name

如果控制器功能是:

function function_name($page_name="default", $user_name=null) 
...

$ page_name值是否为上述第二个URL的“默认值”?

2 个答案:

答案 0 :(得分:5)

你做不到。服务器将忽略额外的斜杠。 由于两个参数都是可选的,因此您应该使用请求参数。 http://mysite.com/controller_name/function_name?page_name=p1&user_name=u1

在控制器中,使用$this->input->get('page_name')$this->input->get('user_name')获取值并检查值是否为空。

答案 1 :(得分:0)

我知道这是一个老问题,但我提出的解决方案很简单。它是这样的:

$this->input->get('limit') ? $this->input->get('limit') : 20;