PHP单选按钮 - 错误后保留表单中的值

use*_*388 3 html php forms radio-button

我正在使用PHP在HTML中构建一个包含电子邮件,姓名等的联系页面.我的联系页面上也有单选按钮.如果用户提交了他们的姓名并选中了一个单选按钮但忘记发送电子邮件,则表单处理页面会将其翻转回联系页面并显示错误.我可以让我的联系人保留为其姓名输入的值(如果用户输入则发送电子邮件),但不会在单选按钮中保留值.

我是PHP的新手,所以我敢打赌,这对我来说是一个愚蠢的错误.这是我的姓名输入:

Your Name:
<input type="text" name="name" <?php
    if (isset($form['name'])) {
        echo 'value="';
        echo htmlentities($form['name']);
        echo '"';
    }
?>/>
Run Code Online (Sandbox Code Playgroud)

我试着做类似于我的收音机.这就是我对收音机的看法:

Are you New to our Business?<br>
<input type="radio" name="customer" value ="yes" <?php
    if (isset($form['customer'])) {
        echo 'value="';
        echo htmlentities($form['customer']);
        echo '"';
    }
?>/>

Yes, I am!<br>
<input type="radio" name="customer" value="no"<?php
    if (isset($form['customer'])) {
        echo 'value="';
        echo htmlentities($form['customer']);
        echo '"';
    }
?>/>
No, I am a returning customer! 
Run Code Online (Sandbox Code Playgroud)

我将值存储在名为$ form的数组中的用户输入上 - 这就是我有($ form ['name])的原因.我想继续这样做.我研究的其他一些响应只是没有数组部分的isset.

希望我已经提供了足够的信息......感谢您的帮助!

aki*_*irk 5

你需要这样做:

if (isset($form['customer']) && $form['customer'] == "yes") {
    echo 'checked="checked"';
}
Run Code Online (Sandbox Code Playgroud)

if (isset($form['customer']) && $form['customer'] == "no") {
    echo 'checked="checked"';
}
Run Code Online (Sandbox Code Playgroud)