#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
.