在PHP中检查单选按钮?

时间:2014-01-23 18:59:57

标签: php html

提交表单后,我确实很难检查单选按钮!

这个问题已被多次询问,我确实遵循了一些指示,最后在提交表格后检查了其中一个单选按钮。但它不适用于第二个单选按钮!

这是我的PHP代码:

<?php
$postRadioName = '';
if (isset($_POST['ship']) || '7' == $_POST['ship']) {
    $postRadioName = ' checked="checked"';
}else{

    if (isset($_POST['ship']) || '12' == $_POST['ship']) {
    $postRadioName = ' checked="checked"';
    }

}
?>

这是我的表格:

<form id="radios" name="radios" method="post" action="order.php" enctype="multipart/form-data">
<p>
<label>UK Shipping £7 </label>
    <input type="radio" name="ship" value="7"<?php echo $postRadioName;?>  onclick="this.form.submit()">
    </p>
    <p>
<label>International Shipping £12</label>
    <input type="radio" name="ship" value="12"<?php echo $postRadioName;?> onclick="this.form.submit()">
    </p>
</form>

我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

将代码更改为:

PHP:

<?php
$postRadioName = '';
if ('7' == $_POST['ship']) {
    $postRadioName7 = ' checked="checked"';
}else{

    if ('12' == $_POST['ship']) {
    $postRadioName12 = ' checked="checked"';
    }

}
?>

HTML:

<form id="radios" name="radios" method="post" action="order.php" enctype="multipart/form-data">
<p>
<label>UK Shipping £7 </label>
    <input type="radio" name="ship" value="7"<?php echo $postRadioName7;?>  onclick="this.form.submit()">
    </p>
    <p>
<label>International Shipping £12</label>
    <input type="radio" name="ship" value="12"<?php echo $postRadioName12;?> onclick="this.form.submit()">
    </p>
</form>

||放在isset($_POST['ship'])'7' == $_POST['ship']之间,如果$_POST['ship']存在,则if条件将返回true,而else部分不会执行(即使$_POST['ship']==12 1}})。

答案 1 :(得分:1)

首先......您在||函数中使用if ......这基本上意味着OR。它应该是&&,这意味着AND ...

if (isset($_POST['ship']) || '7' == $_POST['ship'])表示...... if $_POST['ship'] is defined or has value of 7 ...没有意义......总会返回true,只要选择了任何选项,就不会检查7的值,因为当使用||时,它会检查第一个条件,如果是,则甚至不检查第二个条件。

第二件事...... $postRadioName = ' checked="checked"';只留下$postRadioName = ' checked'; - checked属性没有价值。它只是或不是。与selected相同。