单选按钮获得与PHP相同的值


Radio button getting same value with PHP

我尝试通过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手册中看到赋值运算符比较运算符