Codeigniter — Получить один параметр uri

#php #codeigniter

#php #codeigniter

Вопрос:

Я хочу передать один параметр в свою функцию. Страница sub.mainsite.com/profile/change-password

Профиль — это контроллер, а изменение пароля — это функция внутри него. Теперь я хочу передать change-password / first, если пользователи впервые входят в систему, чтобы система могла перенаправить их на домашнюю страницу вместо страницы профиля.

 $uri_params = I_WANT_TO_SEE_IF_FIRST_IS_SET;
 

Комментарии:

1. В CI параметры URI называются сегментами. Знаете ли вы о $this->uri (в действии контроллера)? Экземпляр CI_URI ? Который имеет $segments общедоступное свойство? ( ellislab.com/codeigniter/user-guide/libraries/uri.html )

Ответ №1:

Просто сделайте так.

$uri = $this->uri->segment(3)
Это приведет к получению change-password $uri_params = $uri .'/first';

Ответ №2:

Я не уверен, что это то, чего вы ожидаете. Однако в вашем контроллере,

 public function change_password($first = FALSE) {
    if ($first == FALSE) {
        redirect("profile");
    } else {
        redirect("home");
    }
}
 

Установив значение по умолчанию в контроллере, вы можете сделать его необязательным. Поэтому, если после change_password в вашем URL-адресе нет значения, оно будет присвоено $first = FALSE .