PHP 单选按钮 - 出错后保留表单中的值
Posted
技术标签:
【中文标题】PHP 单选按钮 - 出错后保留表单中的值【英文标题】:PHP Radio Buttons - Keep The Values in The Form after an Error 【发布时间】:2014-05-14 01:03:04 【问题描述】:我正在使用 php 以 html 格式构建一个包含电子邮件、姓名等的联系页面。我的联系页面上也有单选按钮。如果用户提交了他们的姓名并选中了单选按钮但忘记输入电子邮件,则表单处理页面会将他们翻转回联系页面并显示错误。我可以让我的联系人保留为他们的姓名输入的值(如果用户输入,则发送电子邮件),但它不会保留在单选按钮中选中的值。
我是 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 单选按钮 - 出错后保留表单中的值的主要内容,如果未能解决你的问题,请参考以下文章