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

时间:2016-09-26 08:47:17

标签: php html radio-button

我尝试通过PHP获取单选按钮的值,它们最终只得到第一个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>

2 个答案:

答案 0 :(得分:0)

   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手册中看到 Assignment Operators 13 C omparison Operators

答案 1 :(得分:0)

单个等号是一个赋值:它会覆盖左侧,

PHP Comparison Operators

    = means assignment ( $a = 1 ) so it return true 

    == is for comparison ( true == false is false ). 

所以应该是这样的

    if($_POST['radio'] == 0){ } else if($_POST['radio'] == 1){}.....