Добрый вечер...подскажите можно ли передавать данные из формы в функцию? есть функция создающая форму Код (Text): function searchform(){ echo '<form name="search" action="' . $_SERVER['PHP_SELF'] . '?action=search" method="POST" align=center>'; echo 'Поиск...<br>'; echo '<input type="text" name="code" size="60" value="Введите критерий поиска...">'; echo '<input type="submit" name="submit" value="Поиск">'; echo '<input type="reset" name="reset" value="Очистить">'; echo '</form>'; и функция в которой предполагается обрабатывать данные из формы Код (Text): function show_list() { if (isset($_GET["action"])){ switch ($_GET["action"]) { case "excel":to_excel();break; case "search":searchform();break;} } if (!isset($_POST['code'])) $query = "SELECT technics.id,name_technics.name_techn,code,number, year_create, start_work,time_work,other FROM technics,name_technics WHERE technics.id_name_techn=name_technics.id AND code LIKE '%".strtoupper($_POST['code'])."%'"; $res = mysql_query($query) or die("Запрос ошибочный"); echo '<h2 align="center">Техника</h2>'; echo '<table border="1" cellpadding="2" cellspacing="0" align="center">'; echo '<tr><th>ID</th><th>Наименование техники</th><th>Код</th> <th>Номер</th><th>Год выпуска</th><th>Начало эксплуатации</th><th>Наработка</th><th>Примечание</th><th>Ред.</th><th>Удл.</th></tr>'; while ($item = mysql_fetch_array($res)) { echo '<tr>'; echo '<td>' . $item['id'] . '</td>'; echo '<td>' . $item['name_techn'] . '</td>'; echo '<td>' . $item['code'] . '</td>'; echo '<td>' . $item['number'] . '</td>'; echo '<td>' . $item['year_create'] . '</td>'; echo '<td>' . $item['start_work'] . '</td>'; echo '<td>' . $item['time_work'] . '</td>'; echo '<td>' . $item['other'] . '</td>'; echo '<td><a href="' . $_SERVER['PHP_SELF'] . '?action=editform&id=' . $item['id'] . '">Ред.</a></td>'; echo '<td><a href="' . $_SERVER['PHP_SELF'] . '?action=delete&id=' . $item['id'] .'">Удл.</a></td>'; echo '</tr>'; } echo '</table>'; } в принципе все это работает, но вылетает следующее
если так то не работает вообще, вообщем Код (Text): $_POST['code'] как я понял не определяется у меня...
у тебя стоит проверка case "search":searchform();break; Как только ты отправляешь данные из формы, ты опять вызываешь эту форму. Где логика? Соответственно до поиска дело не доходит. PS Я так понял, это у тебя куски кода? а то у тебя везде не стоят открывающие и закрывающие скобки {}
т.е. мне Код (Text): switch ($_GET["action"]) { case "excel":to_excel();break; case "search":searchform();break;} } перенести в конец функции? а на счет фигурных скобок, это просто кусок кода...
Ты не понял, у тебя есть функция которая создает форму, потом при отправке ты опять ее вызываешь. Естественно у тебя все по кругу идет.Создай отдельную функцию, где будет обрабатываться твоя форма и написать например так Код (Text): case "search":YouNewFunction();break;}