Мне нужно сохранить выбранную пользователем опцию, когда она выбрана в раскрывающемся списке, и при отправке в моей форме сохраните в моей базе данных MYSQL.
У меня уже есть информация, которая хранится и отображается хорошо, я просто пытаюсь добавить больше контента сейчас. Я попытался использовать тот же метод, но я не могу его сохранить, что я хочу.
Выпадающий снимок выглядит так внутри моей формы:
<span> Difficulty: </span> <select> <option type="text" name="easy" id="easy" value="easy">easy</option> <option type="text" name="comfortable" id="comfortable" value="comfortable">comfortable</option> <option type="text" name="hard" id="hard" value="hard">hard</option> <option type="text" name="veryhard" id="veryhard" value="veryhard">very hard</option> <option type="text" name="hardest" id="hardest" value="hardest">Hardest ride in the world!</option> </select> </label>
и я пытаюсь отправить его, используя это:
$difficulty = mysql_real_escape_string($_POST['difficulty']);
Используя этот запрос:
$query = sprintf("INSERT INTO markers (difficulty) VALUES ('%s')", $difficulty);
Когда моя таблица настроена как INT, 20, разрешить null, она сохраняет 0 в базе данных. и когда я установил его VARCHAR, 20, разрешите null, он сохранит пустое поле.
я хочу, чтобы он хранил любое значение, которое выбирает пользователь, т. е. легкий, жесткий, очень жесткий и т. д.
Огромное спасибо
$_POST['difficulty']
Не будет иметь значение, поскольку SELECT не получил «имя». Пытаться
<select name="difficulty">
Ваша проблема – это атрибут name в HTML. Это должно быть «трудностью» для тега select и не быть в тегах опций.
Вам также не нужен type="text"
поскольку он по умолчанию по умолчанию. Я подозреваю, что вам не нужен идентификатор, но, конечно, мы не можем видеть остальную часть кода, чтобы вы могли использовать их в другом месте.
<span> Difficulty: </span> <select name="difficulty"> <option value="easy">easy</option> <option value="comfortable">comfortable</option> <option value="hard">hard</option> <option value="veryhard">very hard</option> <option value="hardest">Hardest ride in the world!</option> </select>
<select name="difficulty"> <option type="text" id="easy" value="easy">easy</option> <option type="text" id="comfortable" value="comfortable">comfortable</option> <option type="text" id="hard" value="hard">hard</option> <option type="text" id="veryhard" value="veryhard">very hard</option> <option type="text" id="hardest" value="hardest">Hardest ride in the world!</option> </select>
Вы не указываете отдельным тегам <option/>
атрибут имени.
Вам нужно изменить имя для HTML <select name="difficulty">
. И тогда у вас будет в $_POST['difficulty']
выбранное значение.