Учимся работать с формами.
Сегодня я хочу рассмотреть php как инструмент для обработки данных пользователя. До этого мы писали скрипты, которые просто выполняют определенную задачу на стороне сервера без взаимодействия с пользователем. Но в повседневной практике, такое бывает редко.
Когда вы заходите на какой-нибудь ресурс. Вводите логин и пароль, то в большинстве случаев их обработкой занимается php. Даже кликая ссылку на сайте, скорее всего все проходит через скрипт. Поэтому свой второй виток изучения пхп я решил начать с обработки форм.
name="название формы"
action="путь к скрипту, который будет обрабатывать форму"
method="метод отправки данных">
Элементы формы
</FORM>
так выглядит простейшая форма.
Кстати если в поле action ничего не указать, то форма будет передана текущей программе.
Давайте все рассмотрим на примере.
Создайте файл myform.html следующего содержания:
<head>
<title>обработка форм</title>
</head>
<body>
<FORM
name="form"
action="obrabotka_form.php">
<input type="text"
name="user"
value=""
title="input name">
<input type="submit"
value="enter"
name="enter_form">
</FORM>
</body>
</html>
Затем создайте файл для скрипта obrabotka_form.php
<head>
<title>скрипт обработки формы</title>
</head>
<body>
<?
echo "мистер".$_REQUEST['user']."скоро будет профессионалом в php";
?>
</body>
</html>
Что же произошло? Когда вы ввели имя и нажали на кнопку, данные из формы были переданы скрипту обработчику.
Прошу обратить внимание, что я не указал метод отправки данных. Значит использовался метод по умолчанию GET. После нажатия кнопки вы могли видеть что строка браузера приняла вид …/obrabotka_form.php?user=name&enter_form=enter.
По сути, данные просто присоединились к скрипту. Вы можете поэкспериментировать и, добавить в myform.html ссылку вида, <a href=”obrabotka_form.php?user=новичок”>результат</a>
будет тоже самое. Потому что скрипту неинтересно, как к нему попали данные. Если в будущем вам понадобиться передать два параметра, то он и все последующие определяются через символ &. Допустим:
action?parametr1=1¶metr2=2¶metr3=3
Помимо GET еще есть метод POST. Но пока не стоит заострять на этом внимание.
Чтобы вытащить данные для обработки, надо использовать $_REQUEST[‘имя поля формы’] в этом массиве хранятся все данные от методов GET и POST. Можно и с помощью $_GET[‘имя поля формы’] или $_POST[‘имя поля формы’], но так вроде уже никто не делает 😉
Еще хочу сделать заметку о выводе на экран.
когда в сообщение надо вставить значения перменных, то их следует разделять точками.
“мистер”.$_REQUEST[‘user’].”скоро…
С вами был novice. Всего доброго.
По поводу того, что массив $_POST[] не используется не соглашусь, я на своём сайте (пока в стадии разработки) стараюсь передавать данные методом пост и принимать их только через $_POST[], это своеобразная защита от хакеров, предотвращает ввод переменных хакерами через адресную строку. А кроме того, использование GET даёт лишнюю информацию о структуре сайта для хакера. Поэтому мне кажется лучше через пост отправлять и принимать только через $_POST[]. Может я в чём-то не прав, сам только-только занялся сайтостроением, но помоему безопасней POST[] использовать…