Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Если ваш сайт проиндексирован Google (см. [1, 2], то можно применить на сайте простейший способ поиска, используя Google.

Процесс по шагам:

1. Добавьте форму на страницу, где должен быть поиск по сайту. Форма должна содержать поле ввода и кнопку “Поиск”. Делается это добавлением следующего текста в HTML-код страницы (форматирование и прочие атрибуты опускаю):

< FORM ACTION="findbygoogle.php" METHOD="POST"> < INPUT type=text name=”WhatFind”> < INPUT type=submit value="Поиск"> < /FORM>

Получится такая форма:

ACTION="findbygoogle.php" задает прямую ссылку, по которой передается управление, когда пользователь нажмет кнопку на форме. Здесь указано, что сервер покажет пользователю страницу, которую будет генерировать PHP-код файла findbygoogle.php (если вы предпочитаете perl, CGI или другую технологию генерации страниц, можете применить её). Файл findbygoogle.php должен находиться в том же каталоге, что и html-страничка, в которую вы добавили код формы.

METHOD="POST" задает метод передачи значения переменной сценарию findbygoogle.php. Вместо POST возможен также вариант GET, разница в том, что GET отобразит в строке браузера значение переменной WhatFind, а POST - нет.

name=”WhatFind” задает имя переменной, которая будет доступна в файле findbygoogle.php. Её содержимое будет использоваться для построения запроса к Google на поиск.

2. Создаем файл findbygoogle.php со следующим содержимым:

< html> < head> < title>< /title> < /head> < body> < ?php include (";q=$WhatFind+site%3Amicrosin.ru&lr="); ?> < /html>

Код здесь простейший, просто для демонстрации метода. Хорошим решением будет добавить оформление - заголовок (до блока < ?php) и подвал страницы сайта (после блока < ?php). При выполнении этого файла генерируется запрос к Google, содержащий значение переменной WhatFind (то, что пользователь ввел в строке формы). Доменное имя microsin.ru нужно заменить на доменное имя Вашего сайта. Файл findbygoogle.php нужно поместить в тот же каталог сайта, где находится html-файл с формой поиска. Нужно также проверить права на файл findbygoogle.php - они должны быть равны 755.

Как это делается в NetObjects Fusion 7.5:

1. Открываем страничку, куда будем вставлять форму поиска.

2. Добавляем на страницу Form Area, нажав на соответствующую кнопку тулбара Standard Tools. На запрос о типе формы я выбрал первый вариант - Create position-based form (Layout Region). Размещаем форму на странице в нужном месте, меняем её размеры, рассчитывая на то, что в ней будет поле ввода и кнопка.

3. С помощью открывшегося дополнительного окошка Form Tools добавляем в форму одно Forms Edit Field (поле ввода) и кнопку Forms Button.

4. Открываем свойства Forms Edit Field, в поле Name меняем текст на WhatFind (так мы даем имя переменной, куда будет передаваться введенный пользователем текст).

5. Открываем свойства кнопки, в поле Text меняем текст на Поиск (это будет написано на кнопке).

6. Создаем файл findbygoogle.php, записываем его в папку Assets сайта. Я поместил этот файл в папку C:\NetObjects Fusion 7.5\User Sites\microsin\Assets\phpscripts\.

7. Выбираем в меню Go\Assets. Правой кнопкой создаем New File Asset, Name указываем произвольно (я набрал findbygoogle), кнопкой Browse выбираем наш файл findbygoogle.php, записанный в папку Assets сайта. Ставим галочку Always publish file.

8. Выбираем форму, на которой расположены поле ввода и кнопка для поиска. В её свойствах (окно со свойствами формы будет иметь название Layout Region Properties) на закладке General жмем кнопку Settings..., в поле Action жмем кнопку Browse и выбираем все тот же файл findbygoogle.php, записанный в папку Assets сайта (Files of type предварительно надо поставить в All Files (.), иначе файла с расширением .php мы не увидим). Method выбираем Post.

9. Выбираем Publish Site\Selected Page Only\Publish. В результате на сайте в папке cgi-bin должен появиться файл findbygoogle.php, и сайт должен нормально заработать вместе с поиском - после ввода чего искать и нажатия на кнопку Поиск должна открываться страница сайта Google с результатами поиска по Вашему сайту.

Это в общих чертах все. Здесь опущены детали реализации, которые нужно будет постепенно добавлять и отлаживать. Например, нужно фильтровать “битые” ссылки, которые могут указывать на уже несуществующие страницы Вашего сайта, нужно подменять в содержимом переменной $WhatFind пробелы и кавычки на их коды, ну и если Вы решили выводить не саму страничку Google, а только результаты поиска, то нужно правильно удалять заголовок и подвал страницы Google и затем подставлять свои заголовок и подвал. Кроме того, нужно правильно форматировать и выводить многостраничные результаты поиска.

[Ссылки]

1. .
2. .


Источник: http://microsin.net/programming/html/google-site-search.html


Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта

Как сделать поиск сайта