Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пытаюсь разобраться с ajax. как мне с помощью его отправить в бд данные из формы?

Алекс Глостер Мыслитель (6038), на голосовании 1 год назад
или это делается в любом случае в php файле, а ajax только сообщения выводит?
Дополнен 1 год назад
Name:
Phone:





<?php
if(isset($_POST)){
$sql = mysqli_query($conn, "INSERT INTO `users` (`id`, `name`, `phone`) VALUES (NULL, '$name', '$phone')");
if($sql){
echo "данные отправлены";
}
else{
mysqli_error($conn);
}
}
не отправляет
Голосование за лучший ответ
партнер [www.a77r.ru] Мыслитель (8983) 1 год назад
ajax - асинхронный JavaScript !!!!
А где твой код JavaScript, который собственно и осуществляет AJAX запрос к скрипту PHP ?
Алекс ГлостерМыслитель (6038) 1 год назад
 $name = trim($_POST['name']);$phone = trim($_POST['phone']); 
if(isset($_POST['name']) && isset($_POST['phone'])){
$sql = mysqli_query($conn, "INSERT INTO `users` (`name`,`phone`) VALUES ('$name', '$phone')");
if($sql){ echo "data has been sent";} else{mysqli_error($conn);}
}
?>
Алекс ГлостерМыслитель (6038) 1 год назад
форма
 

Name:


Phone:



Алекс ГлостерМыслитель (6038) 1 год назад
файл send . php
 $response = [ 
'res' => false,
'error' => ''
];

if ($_SERVER['REQUEST_METHOD'] === 'POST' ){
$name = trim($_POST['name']);
$phone = trim($_POST['phone']);
if($name === "" || $phone === ""){
$response['error'] = 'Заполните все поля';
}
elseif(mb_strlen($name) < 2){
$response['error'] = 'Имя не короче 2-х символов';
}
else{
$dt = date('Y-d-m H:i:s');
$mainBody = "Date: $dt\nPhone: $phone\nName: $name";
mail('vvv7220@gmail.com', 'New app in site', $mainBody);
$response['res'] = true;
}
}

echo json_encode($response);
?>
Алекс ГлостерМыслитель (6038) 1 год назад
если я уберу js то php отрабатывает и отправляет данные в бд. иначе не работает
Алекс ГлостерМыслитель (6038) 1 год назад
Пробовал обработчик формы сделать в отдельном файле, тоже не работает. js первый всё отрабатывает
партнер [www.a77r.ru] Мыслитель (8983) Алекс Глостер, давай попробуем по шагам проверить, что у тебя не так :) Для начала, в скрипт js после строки let formData = new FormData(form); добавь вывод в консоль, чтобы посмотреть что прилетает в объект из формы console.log( formData.name ); console.log(formData.phone); введи данные в форму и после нажатия на кнопку submit посмотри что получится в консоли браузера, совпадает ли это с тем что ты ввел...
Похожие вопросы