Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не передается значение Radio Button PHP, лёгкий пример, очень просто, помогите

Aspen ⭐⭐⭐⭐⭐⭐⭐ Adventure Профи (822), закрыт 1 неделю назад
<form method="POST">
<input type="radio" name="num" value="1">1&nbsp;
<input type="radio" name="num" value="2">2&nbsp;
</form>
<? echo $_POST['num']; ?>
Но ничего не выводит, почему?
Лучший ответ
Андрей Высший разум (477975) 1 месяц назад
При первом открытии страницы ничего и не будет - ты же только открыл страницу, а не передал данные формы. Данные появятся в $_POST только после того, как ты нажмёшь submit (отсутствующий в твоём примере) на странице в браузере.

Если ты ничего не выбрал, то в $_POST и после отправки формы ничего не появится. С радиокнопками и чекбоксами передаётся только то, что нажато. Ничего не нажато - ничего не передано.

Проблему "ничего не нажато" обычно решают так:
 <form method="POST">
<input type="hidden" name="num" value="0">
<input type="radio" name="num" value="1">1&nbsp;
<input type="radio" name="num" value="2">2&nbsp;
<input type="submit" value="Отправить">
</form>
input-hidden должен располагаться на странице выше первого input-radio или input-checkbox с тем же name.
Aspen ⭐⭐⭐⭐⭐⭐⭐ AdventureПрофи (822) 1 месяц назад
Спасибо за ответ, да я знаю это, такое возможно разве что с JavaScript т.к он выполняеться непосредственно в браузере и не требует отправки данных на сервер, ну или через AJAX, но тут имеется ввиду что я нажимаю кнопку отправить но данные не передаются в том то и дело)
Aspen ⭐⭐⭐⭐⭐⭐⭐ AdventureПрофи (822) 1 месяц назад
Все разобрался, проблема была в редиректе, и данные вообще не передавались)
Остальные ответы
S.H.I. Оракул (72768) 1 месяц назад
 <form method="POST" action=""> 
<!-- Добавим кнопку отправки формы -->
<input type="radio" name="num" value="1">1&nbsp;
<input type="radio" name="num" value="2">2&nbsp;
<input type="submit" value="Отправить">
</form> <!-- Добавили закрывающий тег формы -->

<?php
// Проверяем существование параметра перед выводом
if(isset($_POST['num'])) {
echo $_POST['num'];
} else {
echo "Значение не выбрано!";
}
?>
Aac AacoBОракул (53156) 1 месяц назад
@Добавили закрывающий тег формы@... гений!
Андрей Высший разум (477975) Сергей Сулимов, Ещё смешнее, когда нейросеть перечисляет список "ошибок", после чего пишет: "вот исправленный вариант кода" и выдаёт код, символ-в-символ совпадающий с кодом в вопросе.
Alex Искусственный Интеллект (120579) 1 месяц назад
Проблема заключается в том, что у вас отсутствует кнопка отправки формы. Когда пользователь выбирает одно из значений радиокнопки, ему необходимо отправить форму, чтобы данные попали в массив $_POST. Добавьте кнопку типа "submit", которая позволит отправить форму.

Пример исправленного кода:

<form method="POST">
<input type="radio" name="num" value="1">1
<input type="radio" name="num" value="2">2
<button type="submit">Отправить</button> <!-- Добавлена кнопка отправки -->
</form>

<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // Проверяем, была ли отправка формы echo $_POST['num']; } ?>
Похожие вопросы