如何避免codeigniter跳过空URL参数

时间:2018-04-21 16:06:46

标签: codeigniter url

我正在使用带有以下URL的Codeigniter(作为样本)

domain.com/index.php/controller/method/p1/p2/p3

问题是其中一项功能有时无法返回p2。这导致了以下网址

domain.com/index.php/controller/method/p1//p3

在我的控制器中,我的方法设置如下:

public function (p1 = FALSE, p2 = FALSE, p3 = FALSE) {code}

然而,当p2如上所述为空时,突然p2不会返回false,而是返回p3而p3不会返回任何内容。为什么这样以及如何避免? (我已经进行了广泛的搜索,但似乎无法解决问题所在)

1 个答案:

答案 0 :(得分:0)

为了防止缺少参数问题,您应该使用以下代码

制作如下所示的路线

$route['(.*)'] = 'controller/method';

.* =>它会在方法

之后返回所有参数

更新您的功能如下

public function () {
    $controller = $this->uri->segment(1); // controller
    $method = $this->uri->segment(2); // method
    $param1 = $this->uri->segment(3); // p1
    $param2 = $this->uri->segment(4); // p2
    $param3 = $this->uri->segment(5); // p3
}