Консультация № 51906
12.08.2006, 01:00
0.00 руб.
0 4 3
Имеется маленький скрипт. Поиск по БД. Есть форма: инпут и сабмит. При нажатии на сабмит происходить выборка из базы и вывод этой информации. Вот только поле инпут становится пустым. Как сделать так, чтобы там оставался последний запрос?
Спасибо.

Обсуждение

Неизвестный
12.08.2006, 01:20
общий
это ответ
Здравствуйте, S@nch0!

Просто выводите в поле value значение, которое поступило скрипту от формы:


Приложение:
<input type=text name=MyField value="<? if isset($_POST[‘MyField‘]) echo $_POST[‘MyField]; ?>">
Неизвестный
12.08.2006, 01:22
общий
это ответ
Здравствуйте, S@nch0!

Допустим, что запрос передаётся методом GET в переменной query, тогда:

  echo ‘<input name="query" type="text" value="$_GET["query"‘]" />‘;

C уважением,
  <b><i>Strory</i></b>.
Неизвестный
12.08.2006, 05:18
общий
это ответ
Здравствуйте, S@nch0!
Если Вы пишете скрипт не только для личного потребления, а и для того, чтобы его увидели другие люди, не советую сразу прямо вот так делать. :)
Запрос $_POST[‘MyField‘] должен обязательно проверяться на наличие недопустимого скрипта и такая форма записи не должна существовать, если данная проверка не пройдена.
А то ведь кто-то в поле ввода может записать "><?php а сотри-ка весь этот сайт;?> и в итоге получится
<input type=text name=MyField value=" "><?php а сотри-ка весь этот сайт;?>; ">
Неизвестный
12.08.2006, 08:40
общий
2Rok-set:Интересно, как через echo можно стереть сайт? Да, приведенный Вами пример выдаст <?php а сотри-ка весь этот сайт;?>, но выдаст это в БРАУЗЕР, код-то этот не выполнится...
Форма ответа