PHP: Не могу получить данные $_POST из формы
Делаю сайт для конкурса. Мне нужно сделать форму обратной связи, чтобы можно оставить свои контакты и в ближайшее время связаться с человеком. Проблема уже сразу возникла, когда проверял работу сайта: при попытки внести данные в бд, они почему-то не сохраняются в переменные и не отправляются в $_POST, даже при условии, что подключение к БД успешное, и что я верно указал путь к скрипту, а также имена input'ов для передачи.
Вывод:
Подключение успешное!
Warning: Undefined array key "name" in C:\OSPanel\domains\cool-academy\php\add_fb_on_req.php on line 4
Warning: Undefined array key "email" in C:\OSPanel\domains\cool-academy\php\add_fb_on_req.php on line 5
Warning: Undefined array key "tel" in C:\OSPanel\domains\cool-academy\php\add_fb_on_req.php on line 6
Пустые значения
Я проверял путь, имена, метод - бесполезно. Причём на другой работе, где уже надо регистрироваться, проблем у меня не было, то есть с точки зрения сервера вопросов нет (пользуюсь open server).
Помогите срочно мне, пожалуйста, и как можно скорее, так как совсем скоро мне нужно сдать свой проект на конкурс! Буду очень благодарен!!!
HTML: index.html
<form action="php/add_fb_on_req.php" method="post" class="feedback">
<input name="name" id="name" placeholder="Имя" type="text" autocomplete="off" required>
<input name="email" id="email" pattern="[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,4}$" placeholder="Email" type="email" autocomplete="off" required>
<input name="tel" id="tel" placeholder="+7(___)___-__-__" type="tel" autocomplete="off" required>
<button type="submit">
Отправить
</button>
<p class="desc">
Нажимая кнопку, я соглашаюсь с <a href="" target="_blank" class="link">Положением о персональных данных</a> и даю согласие на их обработку и хранение.
</p>
</form>
PHP: sql.php
<?php
header('Content-Type: text/html; charset=UTF-8');
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
// mb_http_input('UTF-8');
mb_regex_encoding('UTF-8');
$host = '127.0.0.1';
$login = 'root';
$password = '';
$dbname = 'cool_academy_bd';
$connect = new mysqli($host, $login, $password, $dbname);
if ($connect->connect_error) {
die("Ошибка подключения: " . $connect->connect_error);
} else {
echo "Подключение успешное!";
}
?>
add_fb_on_req.php
<?php
include 'sql.php';
$name = $_POST['name'];
$email = $_POST['email'];
$tel = $_POST['tel'];
if (!empty($_POST) && isset($_POST)) {
$sql = "INSERT INTO `feedback` (`name`, `email`, `tel`) VALUES ('$name', '$email', '$tel')";
if ($connect->query($sql) === TRUE) {
header("location: ../feedback.html");
} else {
echo "Ошибка: " . $connect->error;
}
} else {
echo "Пустые значения";
}
$connect->close();
?>
Ответы (1 шт):
Код должен работать, но он подвержен SQL-инъекции.
Скорее всего, сервер не принимает POST-запросы.