Intereting Posts
Как отправить почту с помощью gmail в Laravel 5.1? 500 Внутренняя ошибка сервера при использовании .htaccess для настроек PHP Функция money_format (), показывающая вместо символа местной валюты (фунт) Предотвращение множественных записей с помощью PHP Кто-нибудь знает хороший PHP ORM, который НЕ использует PDO? Обходной путь для базового синтаксиса, который не анализируется Интерполяция (двойная кавычка) ассоциативных массивов в PHP Где и почему мы используем __toString () в PHP? PHP-скрипт поиска для базы данных mySQL, всего 3 письма Динамичная генерация кнопки PayPal – не очень ли она небезопасна? Как использовать php-функцию без исходного файла загрузки? Доступ к значению массива внутри объекта в PHP PHP: ReflectionParameter, isOptional vs isDefaultValueAvailable PDO rowCount и fetchColumn, которые не возвращают правильный результат Отправлять уведомление по электронной почте при изменении статуса заказа от ожидающего до отмены

Маршруты Codeigniter для передачи параметров get в индекс

У меня есть URL-адрес www.mywebsite.com/store/123456

где store – мой класс контроллера, и у меня есть функция индекса, где Im получает значение после магазина, т. е. 123456. Но я не могу этого достичь.

Как было найдено в Интернете, я попытался добавить это к маршрутам $route['store/(:any)'] = 'store/index'; также попробовал

 $route['store/(:any)'] = 'store/index/$1'; 

но, похоже, не работает. Пожалуйста, помогите мне.

В функции индекса контроллера

 public function index() { echo $this->uri->segment(1); } 

Но его не работает. Помощь людям

Вы вызываете метод 123456() вместо метода index() поэтому получаете 404 CI.

Самый простой способ – использовать этот вид маршрута

 $route['store/(:any)'] = 'store/index/$1'; 

И наверху добавьте параметр в функцию индекса в вашем случае

 public function index($parameter) { echo $this->uri->segment(2); } 

обратите внимание, что я изменил параметр сегмента, см. документацию .


используя _remap ()

 function _remap($parameter){ $this->index($parameter); } function index($p) { echo $p; //shows 123456 } 

Если я правильно помню:

сегмент (n) дает вам сегменты вашего uri до того, как произойдет маршрутизация

rsegment (n) дает вам сегменты вашего uri после маршрутизации (если была выполнена маршрутизация или такая же, как сегмент, если она не была)

поэтому для / store / 123456 перенаправляется в / store / index / 123456

 segment(1) == rsegment(1) == 'store' rsegment(2) == 'index' segment(2) == rsegment(3) == '123456' 

Маршрут:

 $route['terms_and_conditions'] = 'SO_front/page/1'; 

контроллер:

 public function page($id) { echo $id; } 

Выход: 1