Поиск с использованием Codeigniter с использованием URL-адреса для включения запрещенных символов URI - PullRequest
2 голосов
/ 09 марта 2012

Я хочу реализовать поиск в codeigniter, используя поисковый термин в строке URL, но у меня возникают проблемы с разрешением запрещенных символов URI ('это главная проблема)

например. www.example.com/search/find/search_term/collector's edition / category / stackoverflow

в основном найти 'коллекционное издание' в категории 'stackoverflow'

Это выдает ошибку исключения URI - даже если я закодирую его с помощью javascript codeigniter, он его кодирует. Очевидно, я не хочу идти и разрешить всем персонажам.

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

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Используйте строку запроса, а не бороться с предлагаемыми CI разрешенными символами URI:

example.com/search/?search_term=collector's+edition&category=stackoverflow

Просто убедитесь, что у вас включены строки запроса ($_GET):

$config['allow_get_array'] = TRUE; // This enables $_GET data

// The name of this item is misleading, it's not what you might think 
$config['enable_query_strings'] = FALSE; // <-- Ignore this, make sure it's FALSE

И захватить поисковый запрос:

$query = $this->input->get('search_term'); // No need to decode
0 голосов
/ 09 марта 2012

Вам необходимо добавить «=» в ваши allow_uri_chars.Вы найдете эту строку в вашем файле config / config.php.

Это также может быть.(точка) там.Попробуйте добавить точку вместо этого.Вы должны быть немного смелыми и экспериментировать, чтобы выяснить, что работает.

Попробуйте $config[‘permitted_uri_chars’] = ‘a-z 0-9~%.:?=_\-’;

...