2010-02-16 1 views
3

Я хочу выполнить поиск с разбивкой по страницам, но я не знаю, как «хранить» данные в массиве $ _POST, должен ли я делать это с помощью сеансов?

Rolensen

+8

Могу ли я предложить вам не используйте пост для разбивки на страницы, это сделает невозможным закладку, перемещение с помощью кнопок «назад/вперед» и т. д., если вы не потянете некоторые действительно сложные трюки, чтобы заставить его работать. Вместо этого используйте GET. – falstro

ответ

0

Да, вы можете использовать сессии или скрытые поля и даже лучший способ попасть в форму.

+0

Строка запроса, полностью. Это единственный разумный способ получить закладки, назад/вперед и перезагрузить, чтобы работать интуитивно. Использование скрытых полей для построения строки запроса, конечно, жизнеспособно, просто используйте GET как метод в вашей форме. – falstro

5

Если вы выполняете поиск, вы пытаетесь получить данные с сервера, а не отправлять ему данные - это означает, что вы, вероятно, должны использовать GET, а не POST.

Кроме того, это позволит пользователям добавлять страницы результатов (или отправлять эти ссылки по электронной почте, IM, ...), что всегда приятно; и, кроме того, использовать назад/вперед кнопки браузера, не получая окно предупреждения, которое тоже приятно ^^

(Да, и, кстати, это помогло бы решить проблему ;-))

0

можно использовать как GET и POST в форме, просто добавьте соответствующий атрибут method к form тегу:

<form action="index.php?page=5" method="POST"> 

Так пейджера ссылки кнопки отправки в то время как остальные данные хранятся в скрытых полях. Но это не очень хороший способ сделать это, потому что вы не можете передать кому-то ссылку (например, на IM) на результаты поиска.

Но самый лучший способ для хранения где-то входные POST данные (смотрите здесь: http://www.symfony-project.org/plugins/, когда вы вводите ваш запрос один раз, она хранится и помнить, так что вам не нужно заполнить Форму несколько раз)

 Смежные вопросы

  • Нет связанных вопросов^_^