Как избежать пропущения кода URL-адреса пустых URL-адресов

user1641165 спросил: 28 марта 2018 в 02:26 в: codeigniter

Я использую Codeigniter со следующим URL (в качестве примера)

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

Проблема в том, что одна из функций иногда не возвращает p2. Это привело к следующему url

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

В моем контроллере у меня установлен следующий метод:

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

Однако, когда p2 пуст, как указано выше, внезапно p2 не возвращает false, но вместо этого возвращает p3, а p3 ничего не возвращает. Почему это и как избежать? (Я искал экстенсивно, но не могу понять, в чем проблема)

1 ответ

Anfath Hifans ответил: 28 марта 2018 в 08:08

для предотвращения пропущенных проблем с параметрами вы должны использовать следующий код

сделать ваши маршруты такими, как показано ниже

$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
}