Добрый день. Недавно начал изучать html и php, и столкнулся с проблемой, которую никак не могу решить. Есть простейшая html-форма для введения значений 5 полей, и php-файл, который должен записывать введенные данные в БД. К php прикреплен файл, содержащий данные для входа (связка с ним работает и данные не из формы, а вбитые как значения переменных,отправляет нормально). Однако, при попытке ввести данные в форму страница просто обновляется.Соответственно, ничего не выводится и не записывается в БД. Подскажите пожалуйста, в чем моя ошибка? (у меня есть смутное чувство, что для этого нужно прописать что-то в php, связанное со ссылками,но вот что?)
Upd0: добавил в index.html кнопку с submitom и переправил названия полей (спасибо за подсказку ArchDemon'у и прошу прощения - делал все это в жестком цейтноте). На всякий случай убрал экранирование символов. Увы, это ничего не дало. Может, я ставлю неправильное условие или что-то такое? P.S. Насколько моих обрывочных знаний хватает, я припоминаю, что php работает раньше html. Правда ли это и не в этом ли заключается проблема?
UPD1: Решил упростить файлы настолько, насколько это возможно. Заодно проверил через GET - так результат просто записывается в адресную строку. Через POST опять же, обновление и никаких результатов.
index.html
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>HTML-форма добавления новых данных</title>
</head>
<body>
<form aсtion="test.php" method="post">
<br><br> № контракта <input name="numer_contracta" maxlength=23 size=23>
<button type="submit" >Отправить на сервер</button>
</form>
</body>
</html>
test.php
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
if (!empty($_POST["numer_contracta"])) {
require_once 'connection.php'; // подключаем скрипт
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));
// создание строки запроса
$query ="INSERT INTO contracts (nomer_contracta) VALUES('$_POST["$numer_contracta"]')";
}
// выполняем запрос
$result = mysqli_query($link, $query) or die("Ошибка!" . mysqli_error($link));
if($result)
{
echo " Данные добавлены";
// закрываем подключение
mysqli_close($link);
}
?>
</body>
</html>
В данном случае у Вас нет действия для отправки html формы (т.е кнопки submit), по нажатию на которою содержимое формы уйдет на сервер.
Чтобы понять что такое отправка данных формы на сервер и как это работает почитайте здесь
про кнопку submit и для чего она предназначена в форме здесь
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли в phpstorm настроить отладку так, чтобы можно было одновременно и web часть отлаживать и, если в коде параллельно встречается консольное...
Необходимо передать данные с интернет магазина на сервер доставки СДЭК с помощью XMLСкрипт просто перестают грузить страницу дальше
Есть самописная функция, лежащая в файое библиотеки, подключенном к главному: