Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Постраничная навигация и $_POST
 
 автор: aetern   (26.07.2009 в 20:55)   письмо автору
 
 

Если при выводе результатов поиска использовать постраничную навигацию, то в ссылках на страницы приходится GETом передавать "искомые слова", которые первоночально были переданы POSTом.
Вопрос: Как избежать данную передачу GETом?
Может записывать в файл или БД или в сессии?
Скажите, никто не морочился по этому поводу?

Я понимаю, что, в целом, здесь нет ничего страшного, но, мне кажется, это не красиво.
Я для красоты строки иногда использую RewriteEngine on и RewriteRule с определенными выражениями в htaccess, но здесь, мне кажется, должен быть другой путь.

  Ответить  
 
 автор: cheops   (26.07.2009 в 20:59)   письмо автору
 
   для: aetern   (26.07.2009 в 20:55)
 

Всегда GET-ом данные передают для постраничной навигации, адресная строка нужна для работы, а не для красоты :)

  Ответить  
 
 автор: aetern   (26.07.2009 в 22:36)   письмо автору
 
   для: cheops   (26.07.2009 в 20:59)
 

Для навигации - возможно, а в целом - я не согласен.
Дело даже не в красоте, вот несколько слов в защиту "читабельного адреса" (например, http://www.example.ru/news.html или http://www.example.ru/news/17), т.е. без GETа:
- не раскрывается технология создания страницы (PHP, HTML и т.д.);
- рабочие URLы при изменении языка программирования (например, на ASP);
- копирование ссылок для XHTML (при GETе необходимо убирать &);
- нет пропуска сгенерированных страниц поисковыми роботами;
- не сбивает с толку посетителей;
Честно скажу, что это информация из книги Д.Д.Харрингтона "PHP Hacks".

  Ответить  
 
 автор: Трианон   (26.07.2009 в 21:29)
 
   для: aetern   (26.07.2009 в 20:55)
 

делали. Хотя и по значимой причине, а не из-за превратного понимания красоты.
тема 27514

  Ответить  
 
 автор: aetern   (26.07.2009 в 22:02)   письмо автору
 
   для: Трианон   (26.07.2009 в 21:29)
 

Ну, делать навигацию как в phpMyAdmin и передавать страницы POSTом - это уж на самый крайняк. Ладно, будем GETом.
Тогда такой вопрос:
При поиске и передаче нескольких слов на этом форуме между словами используется символ '+'.
Насколько это верно? А а если я ищу "C++"?
Скажите, кто как передает GETом несколько слов в одной переменной?

  Ответить  
 
 автор: Trianon   (26.07.2009 в 23:09)   письмо автору
 
   для: aetern   (26.07.2009 в 22:02)
 

Рад, что здравый смысл взял верх.

RFC-1738

rawurlencode()

  Ответить  
 
 автор: aetern   (27.07.2009 в 00:06)   письмо автору
 
   для: Trianon   (26.07.2009 в 23:09)
 

Так это закодированный пробел! Почитаю, а после поделюсь идеями.

  Ответить  
 
 автор: aetern   (27.07.2009 в 22:06)   письмо автору
 
   для: Trianon   (26.07.2009 в 23:09)
 

Скажите, а насколько необходимо использовать URL-фунции, в каких случаях это действительно себя оправдывает?

  Ответить  
 
 автор: Trianon   (27.07.2009 в 22:56)   письмо автору
 
   для: aetern   (27.07.2009 в 22:06)
 

Что такое URL-функции?

  Ответить  
 
 автор: aetern   (27.07.2009 в 22:57)   письмо автору
 
   для: Trianon   (27.07.2009 в 22:56)
 

URL-функции: http://www.softtime.ru/group/id_group=10

  Ответить  
 
 автор: Trianon   (27.07.2009 в 22:59)   письмо автору
 
   для: aetern   (27.07.2009 в 22:57)
 

Я не вижу смысла в этом объединении.
Каждая из функций используется тогда, когда в ней оказывается целевая необходимость.

  Ответить  
 
 автор: aetern   (27.07.2009 в 23:06)   письмо автору
 
   для: Trianon   (27.07.2009 в 22:59)
 

Я не имел в виду их общее использование.
Задам вопрос по другому. Когда (пример) может возникнуть необходимость использования функций rawurldecode/rawurlencode, а также когда (пример) функций urldecode/urlencode?

  Ответить  
 
 автор: Trianon   (27.07.2009 в 23:20)   письмо автору
 
   для: aetern   (27.07.2009 в 23:06)
 

Еще раз. Когда потребуется выполнить преобразование, за которое соответствующая функция отвечает.

  Ответить  
 
 автор: aetern   (27.07.2009 в 23:57)   письмо автору
 
   для: Trianon   (27.07.2009 в 23:20)
 

rawurldecode - Функция декодирует URL-строки, закодированные в безопасное представление.
rawurlencode - Функция кодирует URL в безопасное представление (в соответствии с RFC1738).
urldecode - Функция декодирует строку с URL, закодированную в безопасное представление
urlencode - Кодирует URL в безопасное представление

В чем заключается безопасность представления? Чем эта кодировка безопаснее? И еще, ведь браузеры во много самостоятельно осуществляют кодировку. Так в чем же смысл использования этих функций.

Вы меня извините за настойчивость, но я, видимо, что-то не понимаю, не смотря на Ваши ответы. Будьте добры, раскройте свой ответ, если это возможно.

  Ответить  
 
 автор: Trianon   (28.07.2009 в 00:03)   письмо автору
 
   для: aetern   (27.07.2009 в 23:57)
 

Я не очень понимаю, зачем Вы цитируете эту туфту.
Есть мануал (php.net/имяфункции), его и смотрите. Если по нему есть вопросы (конкретные) - попробую ответить...

  Ответить  
 
 автор: aetern   (28.07.2009 в 20:26)   письмо автору
 
   для: Trianon   (28.07.2009 в 00:03)
 

Почитал, пока вопросов нет. Спасибо.

  Ответить  
 
 автор: Рома   (27.07.2009 в 00:34)   письмо автору
 
   для: aetern   (26.07.2009 в 20:55)
 

Если очень хочется, то можно и постом. Тогда будет строчка вида site.ru/search , а поисковый запрос хранить в сессии. Я когда-то так издевался над поиском, создавал дополнительный файл, который принимал POST данные, сохранял их в сессию и делал редирект на site.ru/search. Я хотел добиться, чтоб при нажатии на "поиск", там висели последние результаты.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования