Ну вроде передаётся )
Array ( [query] => gaz* )
Array ( [query] => gaz* )
echo $query;
error_reporting(E_ALL);
ini_set('display_errors', 'On');
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form name="search" method="post" action="search.php">
<p>«В кл. фразе Вы можете использовать специальные символы: '*' - заменяет любую комбинацию символов; '?' - заменяет один символ. Таким образом на слово 'газ*' найдется 'газ', 'газета', 'газированный' и т.д. на 'баннер?' - 'баннера', 'баннеру', но не 'баннер' и 'баннерный'»</p>
<input type="search" name="query" placeholder="Поиск">
<button type="submit">Найти</button>
</form>
</body>
</html>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include("/db_connection.php"); // подключаем БД
function search($query){
$query = trim($query);
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);
if (!empty($query))
{
if (strlen($query) < 3) {
echo 'Слишком короткий поисковый запрос.';
} else if (strlen($query) > 128) {
echo 'Слишком длинный поисковый запрос.';
} else {
$result = mysql_query("SELECT * FROM `words`");
$query = str_replace('*', '(.*)', $query);
$query = str_replace('?', '(.)', $query);
while($row = mysql_fetch_array($result)){
if(preg_match('/^' . $query . '$/u', $row['name'])){
echo $row['name'];
}
}
}
} else {
echo 'Задан пустой поисковый запрос.';
}
}
?>