Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ЧПУ и Форма поиска (GET), Как передать параметр в строку и скрипту 
:(
    Опции темы
arashvg
Дата 24.4.2012, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.6.2009

Репутация: нет
Всего: нет



Собственно, есть форма которая передает поисковый запрос скрипту.
Код

 <form action="search.php" method="get" class="form-wrapper">  
  <input type="search" name="filmsearch" id="search" placeholder="" value="" required>  
  <input type="submit" value="искать" id="submit">  
  </form>


В файле .htaccess прописано 
Код

RewriteEngine On
DirectoryIndex index.php
RewriteBase /

# Редиректы
ErrorDocument 404 /errors/error.php?404

RewriteRule ^search/([^/]*).html$ search.php?filmsearch=$1  [QSA,L]
RewriteRule ^search/$ search.php


В начале скрипта search.php получаю поисковый запрос вот так
Код

$filmsearch = htmlspecialchars($_GET['filmsearch'], ENT_QUOTES);
$filmsearch = urldecode($filmsearch);
$filmsearch= iconv('utf-8','windows-1251', $filmsearch);

Если в адресной строке написать http://сайт.ru/search/поисковый запрос.html Скрипт отрабатывает нормально и выводит все как надо, но если нажать на кнопку искать на форме (на странице http://сайт.ru/search/) то в адресной строке ссылка повляется такого вида

http://сайт.ru/search/?filmsearch=%ED%EE%F1%E0....  и поиск не происходит... 

Собственно как мне при нажатии на кнопку поиска отправить GET запрос скрипту и перенаправить пользователя на ссылку вида  http://сайт.ru/search/поисковый запрос.html

Зарание благодарен!

Это сообщение отредактировал(а) arashvg - 24.4.2012, 17:20
PM MAIL WWW   Вверх
WolfAlone
Дата 26.4.2012, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Цитата(arashvg @  24.4.2012,  17:18 Найти цитируемый пост)
перенаправить пользователя на ссылку...


Зачем использовать .htaccess если можно сделать обычное перенаправление на PHP?

Например, так:

Код

//Обработали гет-запрос в скрипте
header("Location: http://example.com/search/search_query.html"); //Перенаправляем пользователя на другую страницу
//P.S. search_query - заменить на необходимое значение


Хотя, сказать по правде, я всё-таки не до конца понимаю логику. Зачем что-то передавать скрипту, если пользователь тут же будет перенаправлен на другую страницу? Для логирования поисковых запросов?


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
arashvg
Дата 16.5.2012, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.6.2009

Репутация: нет
Всего: нет



Цитата(WolfAlone @  26.4.2012,  22:27 Найти цитируемый пост)
Хотя, сказать по правде, я всё-таки не до конца понимаю логику. Зачем что-то передавать скрипту, если пользователь тут же будет перенаправлен на другую страницу? Для логирования поисковых запросов?


Не совсем то что нужно, у меня на странице индекс есть форма поиска, мне нужно чтобы например если пользователь вводит в ету форму запрос "трансформеры" и нажымает на кнопку поиск то результат поиска ему открывался на странице с адресом "http://сайт.ru/search/трансформеры.html". 

Тоесть как мне сделать правильно саму форму поиска, чтобы в зависимости от введенного слова, пользователю открывалась нужная страница?

Это сообщение отредактировал(а) arashvg - 16.5.2012, 09:12
PM MAIL WWW   Вверх
Aliance
Дата 16.5.2012, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Мне одному кажется, что так делать нелогично?
PM MAIL WWW ICQ Skype   Вверх
arashvg
Дата 16.5.2012, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.6.2009

Репутация: нет
Всего: нет



Цитата(Aliance @  16.5.2012,  09:52 Найти цитируемый пост)
Мне одному кажется, что так делать нелогично? 

почему?

Обясню зачем не это нужно... 
делаю сайт, мини поисковик, на главной только форма поиска, сейчас результаты поиска по нескольким сайтам отображаются на странице с адресом вида
http://сайт.ru/search.php?filmsearch=%...%F2%E5%EB%E8%20 

хочу сделать ЧПУ, чтобы эти же результаты отображались на странице 
http://сайт.ru/search/трансформеры.html

что тут не логично?
и как будет логичней? с радостью выслушаю предложения!!!

Это сообщение отредактировал(а) arashvg - 16.5.2012, 09:59
PM MAIL WWW   Вверх
Fortop
Дата 16.5.2012, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(arashvg @  16.5.2012,  09:12 Найти цитируемый пост)
Не совсем то что нужно, у меня на странице индекс есть форма поиска, мне нужно чтобы например если пользователь вводит в ету форму запрос "трансформеры" и нажымает на кнопку поиск то результат поиска ему открывался на странице с адресом "http://сайт.ru/search/трансформеры.html". 

Есть два варианта:

1. подменять яваскриптом action у формы на нужный адрес
2. после перехода на скрипт поиска, делать редирект на нужный адрес

Первый вариант будет на 1н редирект меньше, но не будет работать без js
Второй вариант будет работать в любом случае, но нужен дополнительный редирект.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
arashvg
Дата 16.5.2012, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 19.6.2009

Репутация: нет
Всего: нет



Цитата(Fortop @  16.5.2012,  10:58 Найти цитируемый пост)
Есть два варианта:

1. подменять яваскриптом action у формы на нужный адрес
2. после перехода на скрипт поиска, делать редирект на нужный адрес

Первый вариант будет на 1н редирект меньше, но не будет работать без js
Второй вариант будет работать в любом случае, но нужен дополнительный редирект. 

спасибо!!! с учетом того что у меня с js совсем туго, буду пробовать второй вариант... 
PM MAIL WWW   Вверх
Aliance
Дата 16.5.2012, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



arashvg, потому что ЧПУ предполагает что такая страница реально существует. В вашем же случае предполагается что существует бесконечное множество страниц. Что будет если ввести "dfkusljbhgsfgss"? А если ввести "трансформеры/index"?

Если уж делать как предложил Fortop, то оба варианта сразу нужно делать, нет?
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.