2012-05-06 2 views
1

Я работаю над некоторой поисковой системой, и мне бы хотелось иметь красивую разбивку на страницы, но похоже, что это не идет с типом POST. У меня есть какая-то форма, в которую вводится запрос для поиска и после того, как форма отложена, есть некоторые результаты. Первая страница результатов обычно и работает, но если я нажимаю на любую другую страницу в моей разбивке на страницы, результатов нет, потому что входное значение POST нигде не хранится. Я уже пытался выполнить поиск с помощью GET - добавить запрос по URL-адресу, но это также невозможно, потому что CodeIgniter не позволяет некоторым символам, которые находятся в urlencode. Я также искал кодировку строки запроса с помощью base64, но это также выглядит так, потому что снова есть некоторые недопустимые символы.Codeigniter Search Pagination

Что я должен делать вместо этого?

+1

Прочитайте третий абзац ответа (о кодировке base64), http://stackoverflow.com/questions/10169853/search-does-not-works-in-codeigniter-with-pagination/10170227#10170227 –

+0

I Я уже читал это, но, как я уже говорил, проблема с запрещенными символами. Пример: строка поиска: 'сегодня не солнечно! \" # $% & /() ==? *) 'И после кодировки base64 она становится' dG9kYXkgaXNuJ3Qgc3VubnkgISIjJCUmLygpPT0/Kik = ', которая также содержит запрещенный символ (если мы заменим = на некоторый разрешенный символ) – user1257255

+0

Как и то, что я сказал в этом ответе, замените '=' на '.'. Это должно устранить проблему. –

ответ

1

Вы можете преобразовать POST данные в данные GET (например, в качестве параметров URL см Query part of the URI specification и Variables From External Sources in the PHP manual) или сохранить результаты поиска в сессию и передать только по поисковому идентификатору, так что вы можете получить результаты поиска по POST данные сессий ,