【问题标题】:Can an empty URL parameter be passed to my controller?可以将空 URL 参数传递给我的控制器吗?
【发布时间】:2012-12-05 03:13:04
【问题描述】:

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

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

假设有时我可以有一个空白的用户名,而其他时候我可以有一个空白的页面名,我可以通过加载这个 URL 来传递一个空白的页面名吗? http://mysite.com/controller_name/function_name//user_name

如果控制器功能是:

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

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

【问题讨论】:

  • 为了更好的控制,你应该有另一个用户名独占的功能:function_name2/user_name

标签: codeigniter url parameter-passing


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 2015-09-23
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      相关资源
      最近更新 更多