Все для создания и продвижения сайтов

Верстка, программирование, SEO

Запись в базу данных mysql на php через форму

количество просмотров 6482
Запись в базу данных mysql на php через форму

Рассмотрим на примере, как создать форму, с помощью которой мы будем делать запросы в базу данных mysql на языке php.

1. Создадим разметку html-формы

<html>
<head>
 <title>Запись в БД через форму на php</title>
</head>
<body>
 <form method="POST" action="">
  <input name="name" type="text" placeholder="Имя"/>
  <input name="text" type="text" placeholder="Текст"/>
  <input type="submit" value="Отправить"/>
 </form>
</body>
</html>

Форма отправляется методом POST и обрабатывается на текущей странице.

2. Создадим таблицу, в которую будем записывать данные

Можно выполнить через SQL в PhpMyAdmin или ручками.

CREATE TABLE `mytable` (
  `id` int(20) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf32 NOT NULL,
  `text` text NOT NULL
)

3. Подключимся к базе данных и напишем запрос для записи.

Подключимся к базе данных.

// Переменные с формы
$name = $_POST['name'];
$text = $_POST['text'];

// Параметры для подключения
$db_host = "localhost"; 
$db_user = "user"; // Логин БД
$db_password = "123"; // Пароль БД
$db_base = 'mybase'; // Имя БД
$db_table = "mytable"; // Имя Таблицы БД

// Подключение к базе данных
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);

// Если есть ошибка соединения, выводим её и убиваем подключение
if ($mysqli->connect_error) {
    die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}

Кодировку установили, чтобы избежать лишних проблем (не обязательно).

Не забудьте заранее создать таблицу в базе данных с трёмя значениями (id, name, text), подробнее об этом читать здесь.

Далее напишем наш запрос для записи в базу данных и запишем его в переменную.

$result = $mysqli->query("INSERT INTO ".$db_table." (names,text) VALUES ('$name','$text')");

Создадим небольшую проверку, чтобы знать, выполнился ли наш запрос или нет.

if ($result == true){
	echo "Информация занесена в базу данных";
}else{
	echo "Информация не занесена в базу данных";
}

4. Подключение формы к запросу

Форму создали, к базе подключились и написали запрос, теперь нужно связать всё это.

Форма отправляется методом POST, поэтому мы можем сделать проверку на него, а именно на любое поле формы.

У нас передаются поля с именами "name" и "text", на них мы и сделаем проверку.

Вставим весь наш скрипт в эту проверку:

if (isset($_POST['name']) && isset($_POST['text'])){

    // Переменные с формы
    $name = $_POST['name'];
    $text = $_POST['text'];
    
    // Параметры для подключения
    $db_host = "localhost"; 
    $db_user = "user"; // Логин БД
    $db_password = "123"; // Пароль БД
    $db_base = 'mybase'; // Имя БД
    $db_table = "mytable"; // Имя Таблицы БД
    
    // Подключение к базе данных
    $mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);

    // Если есть ошибка соединения, выводим её и убиваем подключение
	if ($mysqli->connect_error) {
	    die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
	}
    
    $result = $mysqli->query("INSERT INTO ".$db_table." (names,text) VALUES ('$name','$text')");
    
    if ($result == true){
    	echo "Информация занесена в базу данных";
    }else{
    	echo "Информация не занесена в базу данных";
    }
}

То есть, если существует значения "name" и "text" переданные методом POST, то выполняется подключение к БД и запись в таблицу.

Последние статьи

Инструменты

Отблагодарить и поддержать автора
Если вы нашли ошибку, выделите её и нажмите Ctrl+Enter
Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.