![]() |
Показаны 16 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Языки разметки (http://netadmin.ws/forum/forumdisplay.php?forumid=24)
-- Подскажите как правильно прописать тэг <form>... (http://netadmin.ws/forum/showthread.php?threadid=4660)
Подскажите как правильно прописать тэг <form>...
Неудобно даже как-то спрашивать
, вроде мелочь, но первый раз с этим столкнулся....
Значит, тема такая:
Делаю поиск, поиск будет по каталогу, в рунете, в мире...
Как сделать, чтобы допустим при выборе поиска в каталоге (<input name=каталог тра-ля-ля> ) поиск направлялся на поисковый скрипт каталога, а при выборе поиска в рунете и мире <input name=рунет тра-ля-ля> ) на другой скрипт...
Т.е. как правильно прописать тэг <form>, чтобы искал в двух разных скриптах???
__________________
Садись в ногах! Правды нет!
только используя яваскрипт.
polo добавил 08-03-2003 в 19:24:36:
или создать отдельный скрипт который бы перенаправлял на нужную страницу, смотри пример на главной странице сайта.
__________________
Всегда есть решение.
дык radiobutton прикрутить, как у яндекса. на скрипт поиска посылается один,а там идет проверка, какой радиобаттон зачекен, и распределяет в зависимости от условий.
__________________
"Gott weiss, ich will kein Engel sein!"
polo
Ява нежалательно конечно, но если других вариантов нет, не подскажешь пример?!....
Увидел на главной, вот такой вариант (через отдельный скрипт) обычно и встречался там где пытался смотреть, но написать такой не в силах 
Ausw
Не в обиду конечно, но нифига не понял из твоего поста...
__________________
Садись в ногах! Правды нет!
Kanarsky
Перевожу. Он имел ввиду выставление радионопок (есть квадратные такие - чекбоксы зовутся и выбрать можно несколько пунктов, а есть кругленькие - радио, можно выбрать только один пункт) Ð_адиокнопки действуют таким образом что выбрать можно только один пункт, как это необходимо в твоем случае. Далее при отправке запроса на поиск, скрипт смотрит какой пункт выбран, а дальше уже выбирается необходимый путь поиска.
Vanish добавил 09-03-2003 в 09:29:06:
<input type=radio name=searchtype value=catalog checked>
<input type=radio name=searchtype value=runet>
При выборе первого пункта скрипт будет иметь $searchtype = catalog, при выборе второго $searchtype = runet
Да кнопки будут связаны в группу только в том случае если у них одинаковые имена, т.е. как это у меня сделано...
__________________
No pity, no mercy, no regret.
Vanish
Ну это всё понятно.... Но скрипт же не один поисковый, а два совершенно разных....
Ð_асписываю:
Скрипт поиска по каталогу: http://www.ualist.com/cgi-bin/tsearch.cgi
Скрипт для поиска в рунете и мире: http://search.ualist.com/cgi-bin/poisk.pl
Второй скрипт имеет две радиокнопки, для поиска в рунете и мире соответственно...
<input type=radio name=okr value=ru>
<input type=radio name=okr value=eng>
Как сделать ОДНУ форму, чтобы поиск вёлся и в каталоге, и в рунете, и по миру???
Уже не знаю как объяснять.... 
__________________
Садись в ногах! Правды нет!
quote:
отдельный скрипт который бы перенаправлял на нужную страницу, смотри пример на главной странице сайта.
__________________
No pity, no mercy, no regret.
форма
<form action="search.php" method="post" name="searchform" id="searchform">
<input name="query" type="text" id="query" size="60">
<input type="submit" name="Submit" value="Search">
<br>
<input type="radio" name="goto" value="yandex">
Yandex
<input type="radio" name="goto" value="google">
Google
</form>
// search.php
<?php
if ($_REQUEST['goto'] == 'yandex') {
$url = 'http://www.yandex.ru/yandsearch?text='.$_REQUEST['query'];
} elseif ($_REQUEST['goto'] == 'google') {
$url = 'http://www.google.com/search?q='.$_REQUEST['query'];
}
if (isset($url)) {
header("Location: $url");
} else {
Echo "Вы не ввели обязательных условий поиска";
}
?>
__________________
Всегда есть решение.
Чёт не получается у меня никак до ума всё довести, подскажи где ошибка...
Вот какой у меня получился search.php:
<?php
if ($_REQUEST['okr'] == 'catalog') {
$url = 'http://www.ualist.com/cgi-bin/tsearch.cgi'.$_REQUEST['query'];
} elseif ($_REQUEST['okr'] == 'ru') {
$url = 'http://search.ualist.com/cgi-bin/poisk.pl'.$_REQUEST['query'];
} elseif ($_REQUEST['okr'] == 'eng') {
$url = 'http://search.ualist.com/cgi-bin/poisk.pl'.$_REQUEST['query'];
}
if (isset($url)) {
header("Location: $url");
} else {
Echo "Вы не ввели обязательных условий поиска";
}
?>
<table bgcolor="#FFFFFF" width="100%" border="0" cellspacing="0" cellpadding="4">
<form action="http://www.ualist.com/search.php" method="post" name="searchform" id="searchform">
<tr><td bgcolor="#FFAE00" class="text" colspan="2"><b>◊ Поиск</b></td></tr>
<tr><td align="center" valign="center" class="tmenu"><b>Я ищу:</b>
<input type="hidden" name="livebuilt" value="built">
<input type="text" name="keywords" style="background-color: #F1F1F1;" size="35">
<input type=hidden name=p value=1>
<input type=hidden name=step value=own>
<input style="cursor: hand;" type="submit" value=" найти "><br>
<input type="radio" name="okr" value="catalog" checked>в каталоге
<input type="radio" name="okr" value="ru">в рунете
<input type="radio" name="okr" value="eng">в мире
</td></tr></form>
</table>
__________________
Садись в ногах! Правды нет!
Kanarsky,
Параметры методом GET должны передаваться после ? в адресной строке. Т.е. вместо вот этого:
quote:У тебя должно быть что-то вроде этого:
$url = 'http://www.ualist.com/cgi-bin/tsearch.cgi'.$_REQUEST['query'];
quote:В общем, смотри в примере у polo. Там для Яндекса запрос передается через переменную ?text=, а для Гугла - через ?q=.
$url = 'http://www.ualist.com/cgi-bin/tsearch.cgi?query='.$_REQUEST['query'];
надо знать, каким образом передаются запросы в соответствующие файлы: poisk.pl & tsearch.cgi.
не обязательно, скрипт ведь может быть так устроен что бдет принимать и такую строку и сам присваивать ее переменной.
Тут проблема в том что в форме текст содержится в переменной keywords а в скрипте ссылается на $_REQUEST['query'], должно быть $_REQUEST['keywords'].
__________________
Всегда есть решение.
polo,
Точно. Проглядел я что-то. Но всё же на те перловые скрипты-поисковики тоже стоило бы посмотреть. Если там не через Query_string запрос идёт, тогда грабли останутся.
Вот сами файлы поиска:
__________________
Садись в ногах! Правды нет!
Второй:
__________________
Садись в ногах! Правды нет!
polo
Nevermind
Ну подскажите как доделать, замучился я уже с ними...
__________________
Садись в ногах! Правды нет!
Kanarsky,
В общем-то тебе уже указали неполадку.. Попробуй такой search.php сделать:
<?php
if ($_REQUEST['okr'] == 'catalog') {
$url = 'http://www.ualist.com/cgi-bin/tsearch.cgi?'.$_REQUEST['keywords'];
} elseif ($_REQUEST['okr'] == 'ru') {
$url = 'http://search.ualist.com/cgi-bin/poisk.pl?'.$_REQUEST['keywords'];
} elseif ($_REQUEST['okr'] == 'eng') {
$url = 'http://search.ualist.com/cgi-bin/poisk.pl?'.$_REQUEST['keywords'];
}
if (isset($url)) {
header("Location: $url");
} else {
Echo "Вы не ввели обязательных условий поиска";
}
?>
| Формат времени GMT. Текущее время 00:21. | Показаны 16 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.