Данные формы правильно отправлены на электронную почту, но неправильно отправлены в базу данных

У меня есть форма, в которой люди могут выбрать, будут ли у них занятия в полчаса (например, начало или окончание в 12:30, например), или они будут только занятия, заканчивающиеся в течение всего часа (например, начало или окончание в 13:00). ).

Это флажок, который вызывает некоторый JavaScript. Когда форма отправляется, данные отправляются через POST в скрипт php, который отправляет информацию по электронной почте, а также в скрипт php, который вставляет данные в базу данных mySQL.

Когда флажок установлен, т. Е. «Да», отправляемое электронное письмо включает в себя поле POST «Да». Однако, независимо от выбора, база данных всегда добавляет ноль «0» в столбец mySQL — как я могу получить его в POST «Да» для базы данных, когда выбрано «Да», все остальное работает нормально.

Помощь приветствуется, код ниже 🙂

HTML-форма

<input type = "checkbox" name="halfClass" id="halfClass" value="Yes, I have half hour classes." style="width: 50px" onclick = "instructions(true)" >Yes<label style="width: 320px"><strong>Do you have some classes on the half hour?</strong></label></div>

PHP отправить письмо

$halfClass = $_POST['halfClass'];

$message = <<<EOD
<strong>$halfClass</strong> <br> <br />
EOD;

PHP отправить в БД

$sql = "INSERT INTO my_awesome_table (halfClass) VALUES ('$halfClass')";

Изображение: что показывает таблица базы данных 🙁

0

Решение

Каков тип данных таблицы? Это может быть потому, что тип данных числовой, а не строка. Используйте varchar, чтобы исправить, если это уже не varchar.

0

Другие решения

Проверьте тип данных вашего halfClass колонка. Если это числовой тип, измените его на строка тип.

0

Если halfClass является целое число введите затем используйте:

$sql = "INSERT INTO my_awesome_table (halfClass) VALUES (".$halfClass.")";

Или если halfClass имеет VARCHAR введите, затем используйте:

$sql = "INSERT INTO my_awesome_table (halfClass) VALUES ('". $halfClass. "')";
0
По вопросам рекламы [email protected]