@j-muse

Как правильно записать email в базу?

Здравствуйте.
Я совсем новичек, пожалуйста помогите разобраться. Делаю на сайте форму, которая принимает email, посылает запрос в базу Mysql с помощью AJAX. Проблема в том, что в базу ничего не записывается, но выводится что сообщение отправлено :(
Мой код:
$(document).ready(function() {
$('#form').submit(function(e) {
				e.preventDefault();
				var form_data = $(this).serializeArray();
				$.ajax({
				type: "POST", 
				url: "send.php", 
				data: form_data,
				success: function() {
                	alert("Message send!");
            	},
				error: function (xhr, ajaxOptions, thrownError){
                	alert(thrownError);
					alert("Wrong!!!");
				}
    			});
			});


$connection = mysqli_connect(...);
if((isset($_POST['email'])&&$_POST['email']!="")) {
			
			global $connection;
			
			$email = htmlspecialchars($_POST['email']);
			$email = mysqli_real_escape_string($connection, $email);

			$query = "INSERT INTO owners (`email`) VALUES ('$email')";

			$result = mysqli_query($connection, $query);
			if(!$result) {
			  die('Query failed' . mysqli_error());
			} else {
			  echo "Record created";
			}
		} else {
			echo "email is empty!";
		}
  • Вопрос задан
  • 728 просмотров
Пригласить эксперта
Ответы на вопрос 3
serg_small_developer
@serg_small_developer
Начинающий прогер
попробуйте так
$query = "INSERT INTO owners (`email`) VALUES (".$email.")";
Ответ написан
carlcox
@carlcox
Fullstack developer
1)
var form_data = $(this).serialize();
2)
if(  isset($_POST['email']) && !empty($_POST['email']) ) {

3)
$query = "INSERT INTO owners (`email`) VALUES ('$email')";

VALUES ?
4)
$email = mysqli_real_escape_string($connection, $email);

$connection?
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
тут насоветовали.... еще чуток дам джазу) :
1)if((isset($_POST['email'])&&$_POST['email']!="")) if(!empty($_POST['email'])) ...
2)
var form_data = $(this).serialize(); 
console.log(form_data);// есть подозрение что там нифига нет, 
//или поля называются совсем иначе нежели вы предполагали

3)
success: function(data) {
                	console.log(data);
            	} // вообще то надо проверить что нам вернулось от сервера. 
//Сукчесс это не значит что все прошло ок, просто скрипт отработал без ошибок

4)
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 19:51
1000 руб./за проект
24 апр. 2024, в 19:40
5000 руб./за проект
24 апр. 2024, в 19:18
50000 руб./за проект