Как я могу использовать формы GET с CodeIgniter? - PullRequest
2 голосов
/ 03 мая 2010

Я понимаю, что CI в основном основан на сегментах URL, но мне нужна строка запроса: blahblah.com/search.html?q=keyword

Когда я пытаюсь $ this-> input-> get ("q"), он возвращается пустым. Есть ли маршрут или что-то, что мне нужно настроить?

Ответы [ 3 ]

1 голос
/ 03 мая 2010

Вы должны включить строки запроса

CodeIgniter дополнительно поддерживает эту возможность, которую можно включить в файле application / config.php. Если вы откроете свой конфигурационный файл, вы увидите следующие элементы:

$ config ['enable_query_strings'] = FALSE;
$ config ['controller_trigger'] = «С»;
$ config ['function_trigger'] = 'М';

Если вы измените «enable_query_strings» на TRUE, эта функция станет активной. Тогда ваши контроллеры и функции будут доступны, используя слова «триггера», которые вы установили для вызова ваших контроллеров и методов:

index.php? С = контроллер & т = метод

Пример: index.php? C = products & m = view & id = 345

http://codeigniter.com/user_guide/general/urls.html

1 голос
/ 03 мая 2010

Почему бы не сделать это http://mysite.com/search/keyword/

0 голосов
/ 03 мая 2010

Лучший способ заставить строки запросов работать в CodeIgniter - это использовать Google. Этот вопрос задают (и отвечают) на форумах, здесь и в Твиттере не менее 10 раз в день.

Есть несколько методов, но в последнее время я поклонник следующего метода:

http://www.dijexi.com/2009/08/how-to-mix-segment-and-query-string-in-codeigniter/

Я предпочитаю это другим, так как у него не будет эффектов для всего приложения, как у некоторых других подходов, и для его работы не потребуется сумасшедший взлом.

Если вам нужна эта поддержка $ _GET во всем приложении, просто поместите parse_str в MY_Controller или хук pre_controller.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...