Нужно ,чтобы при отправки формы приходил соответствующий ответ. "Спросите у пользователя знает ли он PHP с помощью двух radio кнопок.".Проблема в том,что если нажать нет или ничего не нажать, выдаст одинаковое сообщение "Поздравляю , вы не знаете php".По задумке так не должно быть. Мой код такой .
<br>Вы знаете PHP ?<br><br>
<form action="" method="POST">
<input type="radio" hidden="radio1" value=""/>
Да<input type="radio" name="radio1" value="on" />
<input type="radio" hidden="radio2" value=""/>
Нет<input type="radio" name="radio2" value="on" /><br><br>
<button type="submit" name="submit" >Отправить</button>
</form>
<?php
if(!empty($_REQUEST) and $_REQUEST['radio1'] == "on"){
echo "Поздравляю ,вы знаете PHP";
}
elseif(!empty($_REQUEST) and $_REQUEST['radio1'] == ""){
echo "Вы не выбрали кнопку!!!";
}elseif(!empty($_REQUEST) and $_REQUEST['radio2'] == "on"){
echo "Поздравляю , вы не знаете php";
}elseif(!empty($_REQUEST) and $_REQUEST['radio2'] == ""){
echo "Вы не выбрали кнопку!!!";
}
var_dump($_REQUEST);
include_once "footer.php";
?>
Радиокнопка должна иметь одно имя, и несколько вариантов значений - это была основная ошибка:
$k = join(array_values($_REQUEST)) ?: 'default';
$questions = [
'on' => 'Поздравляю, вы знаете PHP!',
'off' => 'Поздравляю, вы не знаете PHP!',
'default' => 'Вы знаете PHP?'
];
?>
<?= $questions[$k] ?>
<form action="" method="POST">
Да<input type="radio" name="radio" value="on" />
Нет<input type="radio" name="radio" value="off" /><br/><br/>
<input type="submit" value="Отправить" />
</form>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей