Всем привет. Написал небольшой скрипт, отправляющий выбранный вариант на сервер и сохраняющий его в базу данных. Для этой цели использую метод $.post библиотеки JQuery. На сервере проходит проверка, если пользователь с данным идентификатором уже отвечал, выдается сообщение: "Вы уже проголосовали!", а если не отвечал(то есть таблица в базе пустая), выдается: "Результаты успешно сохранены!".
Однако срабатывает через раз. То есть даже если таблица пустая все равно выводится сообщение: "Вы уже проголосовали!", но в базу сохраняется только id пользователя, а в строке вариант ответа сохраняется ноль, хотя возможные значения, в зависимости от выбранного варианта ответа имеют id 1, 2 или 3. В очень редких случаях все сохраняется как положено, хотя я ничего не меняю в коде.
Я пишу так:
$.post('save_data.php');
Но все меняется после того как я укажу второй параметр в методе $.post. Т.е. пишу так:
$.post('save_data.php', {variant});
. После этого все работает хорошо, всегда все сохраняется и не возникает никаких проблем. Почему так происходит, кто сможет объяснить? Были мысли, что не всегда передается выбранный вариант ответа, но я проверил это прописав в скрипте PHP вывод переданного значения. Выводится сообщение: "Вы уже проголосовали! Выбранный вариант: 3". Т.е. вариант то все таки передается на сервер, вот только почему в БД он не сохраняется(сохраняется как ноль). Хотелось бы понять в чем баг. Почему после того как я указваю в методе второй параметр(данные) все работает нормально, а если не указываю, то не работает(иногда только).