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

Posted

技术标签:

【中文标题】PHP 单选按钮 - 出错后保留表单中的值【英文标题】:PHP Radio Buttons - Keep The Values in The Form after an Error 【发布时间】:2014-05-14 01:03:04 【问题描述】:

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

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

Your Name:
<input type="text" name="name" <?php
    if (isset($form['name'])) 
        echo 'value="';
        echo htmlentities($form['name']);
        echo '"';
    
?>/>

我尝试做一些类似于我的收音机的事情。这是我的收音机:

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! 

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

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

【问题讨论】:

你是对的 - 会话更好。我只是以常规形式写了这个,并且一直在努力将其转换为会话。这就是我有 $form 的原因。谢谢! 【参考方案1】:

您需要将 if 条件更改为以下内容:

<?php
    if (isset($form['customer']) && $form['customer'] == "yes") 
        echo 'checked';
    
?>/>

将“否”部分的“是”替换为“否”。

【讨论】:

非常感谢 - 这帮助很大!我想为你点击向上箭头,但我首先需要 15 的声望。但要知道,如果可以的话,我会的!感谢您的帮助! @user3281388:别担心,伙计。你的想法才是最重要的。我很高兴能为您提供帮助。【参考方案2】:

你需要这样做:

if (isset($form['customer']) && $form['customer'] == "yes") 
    echo 'checked="checked"';

if (isset($form['customer']) && $form['customer'] == "no") 
    echo 'checked="checked"';

【讨论】:

非常感谢 - 这帮助很大!我想为你点击向上箭头,但我首先需要 15 的声望。但要知道,如果可以的话,我会的!感谢您的帮助! 好吧,即使声誉低下,您也可以通过单击投票箭头下方的复选标记来接受答案。 谢谢 - 我不知道! :)

以上是关于PHP 单选按钮 - 出错后保留表单中的值的主要内容,如果未能解决你的问题,请参考以下文章

提交 PHP 后保留表单值

php表单中如何获取单选按钮与复选按钮的值

php表单中如何获取单选按钮与复选按钮的值

php表单中如何获取单选按钮与复选按钮的值

发布后保持单选按钮值

PHP 怎样得到单选按钮的值