Получение данных $ _GET в codeigniter при использовании REQUEST_URI - PullRequest
0 голосов
/ 19 марта 2011

Я использую CodeIgniter. В моем сценарии я изменяю $ config ['index_page'] в файле config.php в соответствии с откликом пользователя, т.е. используется динамическая страница index_page. Чтобы заставить его работать, я изменил значение $ config ['uri_protocol'] на "AUTO". Все работает нормально, кроме случаев, когда дело обстоит так: domain.com/index_page/auth/register?testvar=1 Он не принимает переменные get, и там есть ошибка «PAGE NOT FOUND». Я попробовал несколько вещей, которые уже обсуждались здесь, но они включают изменение uri_protocol на «PATH_INFO», который я не могу изменить, так как сайт перестает работать. Для правильной работы требуется REQUEST_URI, что в точности соответствует настройке «AUTO».

Так есть, есть ли способ заставить его работать ??? Любая помощь будет оценена.

Ответы [ 3 ]

1 голос
/ 20 марта 2011

Посмотрите на этот ответ: Обработка вопросительного знака в url в codeigniter вам потребуется переопределить базовый класс URI, когда вы принимаете QUERY_STRING, и внедрить туда свою логику.

0 голосов
/ 22 марта 2011

Я сделал то же самое в своем проекте, и я получил URL-адрес, как

mydomain.com / поиск /? = Имя Arun + David & возраст = 23

Чтобы достичь этого,

В наборе конфигурационных файлов

$ config ['uri_protocol'] = 'PATH_INFO'; или $ config ['uri_protocol'] = 'ORIG_PATH_INFO';

если PATH_INFO не работает, попробуйте использовать ORIG_PATH_INFO. Для меня в localhost PATH_INFO просыпается, но не ORIG_PATH_INFO, но загружает его на сервер ORIG_PATH_INFO, но не PATH_INFO.

и в конструкторе вашего контроллера поиска добавьте

parse_str ($ _ SERVER [ 'QUERY_STRING'], $ _ GET);

тогда вы можете использовать $ _GET ['name'] и $ _GET ['age'] в вашем коде!.!. : -)

0 голосов
/ 19 марта 2011

Вы читали это: http://codeigniter.com/user_guide/general/urls.html?Вы передаете переменные следующим образом: domain.com/index_page/auth/register/1

Первый сегмент представляет класс контроллера, который должен быть вызван.Второй сегмент представляет функцию класса или метод, который должен быть вызван. Третий и любые дополнительные сегменты представляют идентификатор и любые переменные, которые будут переданы в контроллер.

Также вы можете сделать это по-своему, прочитав ссылку.Но чем вообще использовать фреймворк?

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