При работе с CodeIgniter оказывается, что $_GET по умолчанию отключен. Мне интересно, почему это так.
Часто мне нужно создавать очень длинные поисковые запросы. Так, например, у меня есть форма, которая позволяет выполнять поиск в базе данных по N разным полям. В code igniter URL-адрес для отображения результатов поиска будет выглядеть так:
http://mysite.com/field1/field2/field3/.../fieldN-1/fieldN
Таким образом, пример URL будет
http://mysite.com/shopping/toys/educational/age6-8/page1/sortbypriceinascendingorder/
Мне это не особо нравится, потому что:
1) что, если я хочу добавить дополнительные параметры поиска позже, чтобы у нас было что-то вроде:
Мне не нравится, как я добавляю «только для мальчиков» и «в наличии» в конце сегментов страницы/сортировки по URL-адресу. Это неправильно.
2) что делать, если человек не использует «игрушечный» сегмент и «образовательный» сегмент? Тогда URL-адрес выглядит неуклюжим
http://mysite.com/shopping/all_products/all_categories/age6-8/page1/sortbypriceinascendingorder/
Не имеет ли больше смысла использовать параметры $_GET для поиска, потому что тогда порядок, в котором вы размещаете параметры строки запроса (&field=value), не имеет значения? А отсутствие параметра строки запроса автоматически означает «не выбрано».