Здравствуйте, есть такая проблема у меня на страничке несколько форм но все они работают с одной базой, просто например одна форма поиска, вторая регистрация, третья отправка сообшения (email)? что то немогу разобрать как сделать что бы исходя из того какая форма в данный момент работает скрипт выдавал нужние действия, искал в инете но что то подходящего не нащёл, смутно предстовляю что нужны действия связанные с id и isset? но как? пожалуйста дайте совет или ссылкую Спасибо!
так будет правильно? PHP: <!---Forma 1--> <form name="form1" method="post" action="<? $_SERVER['PHP_SELF']?>" > <input name="test1" type="text" value="test1" > <input type="submit" name="1" id="test1" value="Submit"> </form> <br> <!---Forma 2--> <form name="form2" method="post" action="<? $_SERVER['PHP_SELF']?>" > <input type="text" name="test2" value="test2"> <input type="submit" name="2" id="test2" value="Submit"> </form> <? if(isset($_POST['1'])){ echo($_POST['test1']); }elseif(isset($_POST['2'])){ echo($_POST['test2']); }; //и так далее ?>
Если нужно 3 формы, то сделай три разных обработчика: Первый find.php Второй registr.php Третий send.php И для вызова каждого используй свой action="....." в поле тега <form> К примеру: <form action=" find.php" method="post"> <input type="text" name="text" maxlength="15"> ...... <input value="Поиск" name="submit" type="submit" > </form> <form action="registr.php" method="post"> <input type="text" name="text" maxlength="15"> <input value="Зарегистрировать" name="submit" type="submit" > </form> и так же для отправки.
такой вариант немного не подходит так как у меня идёт обработка на одной странице, весь контент сайта берётся из базы, тоесть типа index.php?page= и так далее, нужные страницы подгружаются в зависимости от действий...
не то? PHP: <? $acts=array("search","register"); $act=!empty($_GET['act'])?$_GET['act']:false; if ($act && $acts[$act]) { include "moduls/$act.php"; } ?> тогда мб PHP: <? switch(true) { case !empty($_POST['key1']): break; case !empty($_POST['key2']): break; } ?>
попробую, у меня: PHP: <? if(isset($_REQUEST['sear'])) { $_REQUEST['sear']=trim($_REQUEST['sear']); $error=''; if (strlen($_REQUEST['sear']) > 2) { $str = ($_REQUEST['sear']); $res=mysql_query('SELECT * FROM pages WHERE (title LIKE "%'.$str.'%" ||content LIKE "%'.$str.'%")'); if (!mysql_num_rows($res)) { $error = 'Поиск не дал результатов.'; } } else { $error = 'Слишком короткий поисковый запрос. Запрос не может быть короче 3-х символов.'; } if ($error) { echo '<p>'.$error.'</p>'; } else { while ($row = mysql_fetch_assoc($res)) { $row['content'] = stripslashes(strip_tags($row['content'])); $offset = 100; $left_pos = strpos(($row['content']),($_REQUEST['sear'])); $left_pos_go = $left_pos-$offset < 0 ? 0 : $left_pos-$offset; $right_pos_go = $left_pos+strlen($_REQUEST['s'])+$offset; if ($left_pos_go == 0) $right_pos_go += abs($left_pos-$offset); $cut = trim(substr($row['content'],$left_pos_go,$right_pos_go-$left_pos_go)); $cut = '... '.preg_replace('/^[^ ]+ *(.*) [^ ]+/s','\\1',$cut).' ...'; $pattern = '([А-Яа-я0-9a-z]*'. quotemeta($_REQUEST['sear']) .'[А-Яа-я0-9a-z]*)'; $replacement = '<span style="background-color: yellow;">\\1</span>'; $cut = eregi_replace($pattern, $replacement, $cut); echo '<p><a href="index.php?page='.$row['id'].'">'.$row['title'].'</a></p>'; echo '<p style="margin:-12px 0 13px 0;">'.$cut.'</p>'; } }} else{ $id=($_GET['page']); if (!isset($id)) $id=23; elseif ($id>=1) $id = intval($id); $query = "select * from pages where id='$id'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { echo "{$row['content']}"; } } ?>