我尝试通过PHP获取Radio按钮的值,结果它们都只获得了第一个if语句的值。有任何修复或错误吗?不管我先放哪句话,它都会得到它的价值。把其他人抛在后面。
if(isset($_POST['submit_id']))
{
if($_POST['radio'] = 0)
{
$SQL = $odb -> prepare("UPDATE `files` SET `status` = 0 WHERE `ID` = :id");
$SQL -> execute(array(':id' => $_POST['form_id']));
}
if($_POST['radio'] = 1)
{
$SQL = $odb -> prepare("UPDATE `files` SET `status` = 1 WHERE `ID` = :id");
$SQL -> execute(array(':id' => $_POST['form_id']));
}
if($_POST['radio'] = 2)
{
$SQL = $odb -> prepare("UPDATE `files` SET `status` = 2 WHERE `ID` = :id");
$SQL -> execute(array(':id' => $_POST['form_id']));
}
}
<form method="post" action="viewUploads.php" id="page_settings">
<div class="uk-input-group">
<label>Please Input the File ID</label>
<input type="text" name="form_id" class="md-input" />
</div>
<br />
<div class="uk-width-medium-3-5">
<span class="icheck-inline">
<input type="radio" name="radio" id="radio_demo_inline_1" data-md-icheck />
<label for="radio_demo_inline_1" class="inline-label" value="2">Accepted</label>
</span>
<span class="icheck-inline">
<input type="radio" name="radio" id="radio_demo_inline_2" data-md-icheck />
<label for="radio_demo_inline_2" class="inline-label" value="1">Rejected</label>
</span>
<span class="icheck-inline">
<input type="radio" name="radio" id="radio_demo_inline_3" data-md-icheck />
<label for="radio_demo_inline_3" class="inline-label" value="0">Pending</label>
</span>
</div><br />
<div class="uk-width-medium-1-3">
<button class="md-btn md-btn-danger" name="submit_id" type="submit" onclick="(function(modal){ modal = UIkit.modal.blockUI('<div class=''uk-text-center''>Please Wait...<br/><img class=''uk-margin-top'' src=''/assets/img/spinners/spinner.gif'' alt=''''>'); setTimeout(function(){ modal.hide() }, 3000) })();">Submit</button>
</div>
</form>
一个等号是一个赋值:它覆盖左手边
PHP比较运算符
= means assignment ( $a = 1 ) so it return true
== is for comparison ( true == false is false ).
所以它应该像这个
if($_POST['radio'] == 0){ } else if($_POST['radio'] == 1){}.....
if(isset($_POST['submit_id']))
{
if($_POST['radio'] == 0)
{
$SQL = $odb -> prepare("UPDATE `files` SET `status` = 0 WHERE `ID` = :id");
$SQL -> execute(array(':id' => $_POST['form_id']));
}
else if($_POST['radio'] == 1)
{
$SQL = $odb -> prepare("UPDATE `files` SET `status` = 1 WHERE `ID` = :id");
$SQL -> execute(array(':id' => $_POST['form_id']));
}
else if($_POST['radio'] == 2)
{
$SQL = $odb -> prepare("UPDATE `files` SET `status` = 2 WHERE `ID` = :id");
$SQL -> execute(array(':id' => $_POST['form_id']));
}
}
从=变为==
您可以在php手册中看到赋值运算符比较运算符