Не принимаются данные из input

Сам запрос в БД отправляется, но почему-то, он не берёт значения из формы

<form action="check.php" method="post">
       <input type="text" name="name" placeholder="Ваше имя">
       <input type="text" name="email" placeholder="Ваша эл. почта">
       <textarea name="message" placeholder="Сообщение"></textarea>
       <button type="submit">Отправить</button>
</form>

check.php

<?php

$name = $_POST['name'];

$email = $_POST['email'];

$message = $_POST['message'];

$mysql = new mysqli('localhost', 'root', 'root', 'lab124');
$mysql->query("INSERT INTO `lb_app` (`name`, `email`, `message`) VALUES('$name', '$email', '$message')");

$mysql->close();

header('Location: index.php');
?>

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Tuchyn2511

Скрипт не понимает, после чего ему брать данные. Тебе нужно написать проверку на нажатие submit и добавить на кнопку атрибут name="submit".

<?php
if(isset($_POST['submit'])){
$name = $_POST['name'];

$email = $_POST['email'];

$message = $_POST['message'];

$mysql = new mysqli('localhost', 'root', 'root', 'lab124');
$mysql->query("INSERT INTO `lb_app` (`name`, `email`, `message`) VALUES('$name', '$email', '$message')");

$mysql->close();

header('Location: index.php');
}
?>

<button type="submit" name="submit">Отправить</button>

И в атрибут формы action нужно писать название файла, где лежит скрипт обработчик, по вопросу не понятно он в check.php или в другом файле. К слову, если скрипт в том же файле, что и форма, то action вообще можно пустым оставлять.

→ Ссылка