Я знаю, что есть другие темы, касающиеся этого, но я прочитал их, попробовал решения, и все еще сталкиваюсь с проблемами.
У меня есть массив $ sexValues, который я перебираю для отображения двух переключателей внутри формы. Форма имеет другие входные данные с проверкой. Когда пользователь проверяет мужской или женский код, я хочу, чтобы этот переключатель оставался отмеченным, когда он пытается отправить форму, но не соответствует другой проверке, вместо того, чтобы самому ее очистить.
$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);
}
Измените эту строку:
<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);
К этому:
<input type='radio' name='gender' id=" . $genderVal . " value='" . $genderVal . "' " . ending($genderVal);
Других решений пока нет …