提交表单后,我确实很难检查单选按钮!
这个问题已被多次询问,我确实遵循了一些指示,最后在提交表格后检查了其中一个单选按钮。但它不适用于第二个单选按钮!
这是我的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>
我在这里做错了什么?
答案 0 :(得分:2)
将代码更改为:
<?php
$postRadioName = '';
if ('7' == $_POST['ship']) {
$postRadioName7 = ' checked="checked"';
}else{
if ('12' == $_POST['ship']) {
$postRadioName12 = ' 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 $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
相同。