PHP 在提交后选中动态生成的单选按钮


php keep dynamically generated radio button checked after submit

我知道还有其他主题涵盖此内容,但我通读了它们,尝试了解决方案,但仍然遇到问题。

$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);
    }

更改此行:

<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);

对此:

<input type='radio' name='gender' id=" . $genderVal . " value='" . $genderVal . "' " . ending($genderVal);