Как проверить добавление в БД и вывод результата ajax?

Здравствуйте, хочу правильно реализовать задачу:
Пользователь вводит свой email в после imput и заносятся его данные в БД.
Требуется реализовать без перезагрузки страницы.
С задачей я почти полностью справился.
$.ajax({
   url: 'db_users.php',  // Файл в котором происходит добавление в БД
   type: 'POST', // Делаем POST запрос
   data: data,
   success: function(data) 
   {
      $('#form-message').html(data); // Получаю информацию со страницы
   }
});

if($email != NULL) {
		if(mysql_query("INSERT INTO users (`email`) VALUES ('$email')")) {
			echo "Все отлично";
			$d = 1; 
		}
		else {
			echo "Произошла ошибка";
		}
	}

Теперь, если в БД запись не добавилась, то мне нужно об этом как-то узнать и оповестить пользователя.
У меня получилось выводить, echo, но мне нужно получить переменную либо несколько значений. Как это сделать?
Пример: если переменная в php = 1, то запускать первую функцию в JS, а если переменная = 2, то запускать вторую функцию в JS. Может еще можно более "грамотна" реализовать задачу?
  • Вопрос задан
  • 1023 просмотра
Пригласить эксперта
Ответы на вопрос 2
@myphpscript
без заморочек если:
$.ajax({
    url: 'db_users.php',  // Файл в котором происходит добавление в БД
    type: 'POST', // Делаем POST запрос
    data: data,
    dataType: 'json',
    success: function(response)
    {
        if(response.result) {
            if(response.data == 1) {
                func1();
            }else if(response.data == 2) {
                func2();
            }
        }else{
            $('#form-message').html(response.message);
        }
    }
});


if ($email != NULL) {
    if (mysql_query("INSERT INTO users (`email`) VALUES ('$email')")) {
        echo json_encode(array(
        	'result' => true,
        	'data' => 1, 
        ));
    }
    else {
    	echo json_encode(array(
        	'result' => false,
        	'message' => "Произошла ошибка", 
        ));
    }
}
Ответ написан
Комментировать
Ой похепе.
На аякс запросе вы должны принимать на бекенде запрос и в ответ бросать json. В джейсон пишете 1 переменную error. Если все ок, то переменная - пустая строка с 0 длиной, если все плоха - в переменную загоняете ошибку и отправляет в ответ на ajax.
В аяксе на success метод проверяете если в data пустая переменная ошибки - то все ок, мигаете где-то зеленым, если плозо - что-то другое показываете.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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