это лишняя операция.всего массива
<?
include_once "connect.php";
?>
<form action="" method="post"><fieldset><legend>Телефонный справочник</legend>
<label for="fname">Фамилия</label> <input id="fname" name="fname" type="text" size="14" maxlength="30" />
<label for="iname">Имя</label> <input id="iname" name="iname" type="text" size="14" maxlength="30" />
<label for="oname">Отчество</label> <input id="oname" name="oname" type="text" size="14" maxlength="30" />
<label for="street">Адрес</label> <input id="street" name="street" type="text" size="14" maxlength="30" />
<label for="tel">Телефон <input id="tel" name="tel" type="text" size="14" maxlength="30" />
<input name="" type="submit" value="Искать" />
</fieldset></form>
<?
if ( !empty( $_POST ) && !( '' == @trim( implode( '', $_POST ) ) ) ) {
$rows = $DB->select('
SELECT *
FROM peoples
WHERE
1=1
{ AND fname LIKE ? }
{ AND iname LIKE ? }
{ AND oname LIKE ? }
{ AND tel LIKE ? }
{ AND street LIKE ? }
',
(empty($_POST['fname']) ? DBSIMPLE_SKIP : "%$_POST[fname]%"),
(empty($_POST['iname']) ? DBSIMPLE_SKIP : "%$_POST[iname]%"),
(empty($_POST['oname']) ? DBSIMPLE_SKIP : "%$_POST[oname]%"),
(empty($_POST['tel']) ? DBSIMPLE_SKIP : "%$_POST[tel]%"),
(empty($_POST['street']) ? DBSIMPLE_SKIP : "%$_POST[street]%")
);
foreach ($rows as $numRow => $row)
{
foreach ( $row as $key => $value ) $$key = $value;
echo "<small>$pid</small> <strong>$fname $iname $oname</strong> $street $tel<br />";
}
}
?>
<label_for="fname">Фамилия</label>_<input_id="fname"_name="fname"_type="text"_size="14"_maxlength="30" value="<?=$_POST['fname']?>" class="<?=$error['fname']?>" />
<label_for="iname">Имя</label>_<input_id="iname"_name="iname"_type="text"_size="14"_maxlength="30"_value="<?=$_POST['iname']?>" class="<?=$error['iname']?>"/>
<label_for="oname">Отчество</label>_<input_id="oname"_name="oname"_type="text"_size="14"_maxlength="30"_ value="<?=$_POST['oname']?>" class="<?=$error['oname']?>"/>
<label_for="street">Адрес</label>_<input_id="street"_name="street"_type="text"_size="14"_maxlength="30"_ value="<?=$_POST['street']?>" class="<?=$error['street']?>"/>
<label_for="tel">Телефон_<input_id="tel"_name="tel"_type="text"_size="14"_maxlength="30"_value="<?=$_POST['tel']?>" class="<?=$error['tel']?>"/>
Alexandre а вы уверены, что данные в input поля класть лучше из POST ? При нажатии юзером обновлении страницы табличка вам глаза не будет мозолить ? Не лучше ли при любом раскладе после получения POST делать редирект ?
Если не ошибаюсь у Фaнaта была такая тема уже.
Почему бы для временного хранения не использовать сессии, уничтожая их сразу после редиректа ?
в этом коде, кроме указанных вами, можно найти еще недостатки. автор будет Вам благодарен. жаль, что отсутствует ветвь "Помидорник".Alexandre, пора тебе узнать, что значения, выводимые в value инпутов, должны быть обработаны функцией htmlspecialchars. Независимо от своего происхождения.