@freeman0204

Из за того что отправка формы через ajax, данные не записываются в базу и не выводятся, как исправить?

Есть форма работающая через ajax, на почту все приходит, но при нажатии на ту же кнопку отправить должно записываться в БД те же поля и выводится в отдельной странице. Но из за ajax до БД не доходит. Как оставить ajax и записать в БД одновременно при нажатии на одну кнопку. Или на крайняк, какие есть другие варианты?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 2
@arab789
В функции, которая обрабатывает ajax, можно добавить еще один запрос к скрипту, который будет писать данные в БД.
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Добрый вечер.
Почему у Вас код подключения к БД располагается ниже кода, который должен писать в базу?
Думаю, что эту строку
if($name || $phone !== "")
правильней будет заменить на
if($name != "" || $phone != "")
далее в коде сделать подобные замены.
Этот код
$add = mysql_query("INSERT INTO give_call VALUES ('', '$name', '$phone', '$model')") or die(mysql_error());

я бы заменил на
if(!mysql_query("INSERT INTO `give_call` VALUES ('".$name."', '".$phone."', '".$model."')")){
 	echo $mysql_error() . ' - ' . $mysql_errno();
 }

Но учтите, так подставлять данные в запрос нельзя! Получите sql-инъекцию!
Это для начала...

p.s. И добавьте в запрос поля, в которые писать собираетесь
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы