Регистрация
DANFA Сближает людей!

Добавление данных в Базу Данных через форму (PHP + MySQL)


В этом посте хочу рассказать, как передать в Базу Данных, введенные данные в форму. И так мы создаем простую форму, где у нас будет два поля: имя пользователя и его электронная почта:
<form name="forma" action="index.php" method="post">
 Ваше имя: <input type="text" name="name"><br />
 Ваш E-mail: <input type="text" name="email"><br />
<input name="submit" type="submit" value="Отправить"> 
</form>

Эта форма может применятся для регистрации нового пользователя, для рассылки новостей, для сбора статистики, да для чего угодно... В общем в эту форму пользователь забивает свои данные: имя и почту, нажимает на кнопку и дальше данные переходят в php скрипт:
$name = $_POST['name'];
$email = $_POST['email']; 

$result = mysqli_query("INSERT INTO user (name, email) 
VALUES ('$name', '$email')");
if ($result) {
	echo "Данные успешно сохранены!";
}
else {
	echo "Произошла ошибка, пожалуйста повторите попытку.";
} 

Что же в этом скрипте происходит? Сейчас разберемся!
Введенные в форму данные, методом POST переходят в php скрипт (который написан выше), и при помощи глобального массива $_POST данные формируются в переменные $name и $email:
$name = $_POST['name'];
$email = $_POST['email']; 

После того, как переменные готовы для занесения в базу, составляем запрос. Но прежде Ваши скрипты должны быть уже подключены к БД, как подключиться к БД, я писал в этой теме: Функции соединения с сервером MySQL. Сам запрос выглядит так:
$result = mysqli_query("INSERT INTO user (name, email) 
VALUES ('$name', '$email')");

В этом коде мы обозначили, что в ячейки name и email, которые находятся в таблице user, будут добавлены следующие переменные: $name и $email.
Далее, если все прошло успешно, мы получим сообщение из условия:
Данные успешно сохранены!

Если же возникли какие то проблемы и данные не были занесены, мы получим сообщение об ошибке:
Произошла ошибка, пожалуйста повторите попытку.

Вот и все!

*** *** *** *** ***

При желании можно добавить больше полей для ввода информации, например нам необходимо добавить поле для ввода города пользователя. У нас уже есть готовый скрипт (написан выше), теперь просто добавим поле Ваш город, переменную назовем: $city. И так в форму ввода данных, после:
 Ваш E-mail: <input type="text" name="email"><br />

добавляем:
 Ваш город: <input type="text" name="city"><br />

В php скрипте, после:
$email = $_POST['email'];

добавляем:
$city = $_POST['city'];

Ну и конечно в запросе добавляем тоже, вот так:
$result = mysqli_query("INSERT INTO user (name, email, city) 
VALUES ('$name', '$email', '$city')");

Вот, что должно получится в итоге:
Форма ввода:
<form name="forma" action="index.php" method="post">
 Ваше имя: <input type="text" name="name"><br />
 Ваш E-mail: <input type="text" name="email"><br />
 Ваш город: <input type="text" name="city"><br />
<input name="submit" type="submit" value="Отправить"> 
</form> 

Скрипт:
$name = $_POST['name'];
$email = $_POST['email'];
$city = $_POST['city'];

$result = mysqli_query("INSERT INTO user (name, email, city) 
VALUES ('$name', '$email', '$city')");
if ($result == true) {
	echo "Данные успешно сохранены!";
}
else {
	echo "Произошла ошибка, пожалуйста повторите попытку.";
} 

Как видите ни чего сложного! При необходимости можно добавить ещё поле, и ещё, и ещё...
Теги: PHP, MySQL
Написал(а)
Введите символы с картинки:
Reload Image
Type in the verification code above