Вы могли бы написать этот HTML-код (обратите внимание на подстановку значений строк радиосвязи целыми числами):
<form action="search.php" method="GET">
<input type='text' size='70' name='search'>
<input type='image' value='search' src='images/tickmark.png'></a><br>
Search by
<input type="radio" onclick="eng = this.value;" checked name="sengines"
value="1" />
City
<input type="radio" onclick="eng = this.value;" name="sengines"
value="2" />State
<input type="submit" />
</form>
Когда пользователь нажмет кнопку отправки, будет выполнена страница search.php (на стороне сервера). Эта страница может содержать следующий код:
<?php
if(is_integer($_GET['sengines']) && is_string($_GET['search'])){
switch($_GET['sengines']){
case 1: include_once "searchbycity.php";
searchByCity($_GET['search']);
break;
case 2: include_once "searchbystate.php";
searchByState($_GET['search']);
break;
}
}
?>
Таким образом, если пользователь выбрал первую радио-кнопку, файл searchbycity.php и гипотетическая функция с именем searchByCity , присутствующая в файле, будут называться проходящими значение $ _GET ['search'], отправленное формой. Иначе, будет включен файл searchbystate.php и ... логика будет аналогичной.
Обратите внимание: данные, отправляемые формой, должны быть обработаны с помощью функций фильтра . В коде есть первый уровень проверки с использованием функций is_integer и is_string.