@Vladneim
Начинающий верстальщик

Почему не отправляется форма в базу данных?

У меня на сайте есть форма, скрипт отправления формы в бд, но почему то он не работает, помогите пж.
html
<form action="post.php" method="POST" class="form">
	            		<div class="input-wrap">
		            		<p class="phone-on-form" >Номер<br> телефона</p>
		            		<input class="input" type="phone" placeholder="+380 Номер телфона" name="tel">
		            		
		            	</div>
	            	
	            	<p class="call-to-action">Шаг №1: Выберите удобный вам мессенджер</p>
	            	
	            	<div class="buttons">
	            			<button type="submit" data-submit class="btn-ms facebook">
		            			<img src="img/lgt-icon-facebook.svg" class="icon"></img>
		            			<p>Messenger</p>
		            		</button>
	            			<button type="submit" data-submit class="btn-tg telegramm">
		            			<img src="img/lgt-icon-telegram.svg" class="icon"></img>
		            			<p>Telegramm</p>
		            		</button>
	            			<button type="submit" data-submit class="btn-vb viber">
	            			<img src="img/lgt-icon-viber.svg" class="icon"></img>
	            			<p>Viber</p>
	            		</button>
	            	</div>
	            	</form>


js
$(function () {
	$('.btn-ms').on('click', function(event) {
    event.preventDefault(); 
    var url = $(this).data('target');
    location.href = 'messenger.com';
});

	$('.btn-tg').on('click', function(event) {
    event.preventDefault(); 
    var url = $(this).data('target');
    location.href = 'tmet';
});
	$('.btn-vb').on('click', function(event) {
    event.preventDefault(); 
    var url = $(this).data('target');
    location.href = 'viber';
});
});


php

<?php
if (isset($_POST['num'])){

    // Переменные с формы
    $name = $_POST['num'];
    
    // Параметры для подключения
    $db_host = "localhost"; 
    $db_user = "login"; // Логин БД
    $db_password = "pass"; // Пароль БД
    $db_base = 'name'; // Имя БД
    $db_table = "tablename"; // Имя Таблицы БД
    
    // Подключение к базе данных
    $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." (num) VALUES ('$num')");
    
    if ($result == true){
    	echo "Информация занесена в базу данных";
    }else{
    	echo "Информация не занесена в базу данных";
    }
}
?>


за ранее спасибо
  • Вопрос задан
  • 101 просмотр
Решения вопроса 2
Aco
@Aco
Full Stack Developer
Уф, ну с чего бы начать....

  1. в js this у click события может быть не формы, лучше завязаться на submit
  2. в js нет отправки данных, событие-то клика (допустим кнопки submit) отменили, всё остановилось
  3. в js вы отменяете события клика и сразу делаете редирект, используя location.href
  4. в форме у вас поле называется tel, а в PHP вы берёте num
  5. при вставке в базу не экранируются данные, а конкретно $num
  6. при коннекте к базе не указывается кодировка
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Я спрашиваю как изменить

Владимир Майструк, Вам указали на ошибки.
Ваши действия:
1) Доработать js код, чтобы от отправлял данные. Читайте, смотрите в инете примеры. В обработчике формы для этого шага выводите просто дамп массива $_POST. Как только это заработаете - переходите к исправлению обработчика формы.
2) Читать, смотреть в официальной документации php, в инете примеры как обработать данные формы на сервере. Добиваетесь, чтобы на сервере инициализировались данные из формы.
3) Читать смотреть в официальной документации php, смотреть примеры в инете как работать с mysql. Добиться того, чтобы данные записывались в базу.
Помимо этого читайте, смотрите в инете как обрабатываются ошибки при работе js, php и mysql.
Всё. Элементарный скрипт отправки формы Вы сможете написать уже к вечеру.

p.s. Если всё-таки не будет получаться написать самостоятельно, то в этом случае показываете свой код, пишите ошибки, которые возникают и описываете действия которые Вы делали для устранения ошибок. Тогда у всех админов, модераторов, кураторов и обычных пользователей текут слёзы умиления и все, перебивая друг друга, кинуться Вам помогать)))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 100 000 до 180 000 ₽
Adlogic Systems Ростов-на-Дону
от 40 000 ₽
АвтоЗС Набережные Челны
от 30 000 до 35 000 ₽
24 окт. 2020, в 20:52
27000 руб./за проект
24 окт. 2020, в 20:39
2000 руб./за проект
24 окт. 2020, в 20:39
2000 руб./за проект