尝试使单选按钮变粘时未定义变量

时间:2013-05-28 13:39:46

标签: php radio-button undefined forum

这是我的代码:

$isYes = FALSE;
$isNo = FALSE;
if (!empty($_POST['owner'])) {
 $o = trim($_POST['owner']);
 if ($_POST['owner'] == 'yes') {
     $isYes = TRUE;
 } else if($_POST['owner'] == 'no'){
     $isNo = TRUE;
     }
 }

<p><label>Is the Applicant the owner? &nbsp;&nbsp;
Yes<input type="radio" name="owner" id="owner_yes" class="owner" value="yes" 
<?php print($isYes ? "CHECKED" : ""); ?> />
No<input type="radio" name="owner" id="owner_no" class="owner" value="no" 
<?php print($isNo ? "CHECKED" : ""); ?>/></label></p>

每当用户首次加载页面时,都会出现此错误:

  

注意:**未定义的变量:第299行的C:\ xampp \ htdocs \ index.php中的isYes
  注意:**未定义的变量:第301行的C:\ xampp \ htdocs \ index.php中的isNo

这是因为用户尚未在上面收到的广播中选择“是”或“否”,但是在他们点击提交并回来修复他们可能搞砸的内容之后,错误消失了,因为$isYes$isNo现在有一个值。

如何修复此错误?先谢谢你们!

2 个答案:

答案 0 :(得分:1)

为什么设置$isYes=FALSE? 尝试

<input type="radio" value="yes" <?php if(isset($isYes)&&!empty($isYes)){echo "checked";}? />Yes
<input type="radio" value="no" <?php if(isset($isNo)&&!empty($isNo)){echo "checked";}? />No

答案 1 :(得分:0)

我明白了。我不得不这样做:

if (isset($_POST['owner'])) { print($isNo ? "CHECKED" : ""); }

我必须检查变量是否已设置,如果已设置,则设置值。