Я знаю, что есть другие темы, посвященные этому, но я прочитал их, попробовал решения и все еще сталкиваюсь с проблемами.
У меня есть массив $genderValues, который я перебираю, чтобы отобразить два переключателя внутри формы. Форма имеет другие входные данные с проверкой. Когда пользователь проверяет мужчину или женщину, я хочу, чтобы этот переключатель оставался отмеченным, когда он пытается отправить форму, но не проходит другую проверку, а не очищает ее сам.
$genderValues = ['Male','Female'];
function ending ($genderVal) {
if (isset($_POST['gender']) && ($_POST['gender'] == $genderVal)) {
$ending = " checked />";
return $ending;
}
else{
$ending = "/>";
return $ending;
}
}
foreach($genderValues as $genderVal){
echo "<label class='radio' for=" . $genderVal . ">" . $genderVal . "</label>
<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);
}