duanluan033648
2016-09-26 08:47
浏览 45
已采纳

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

I tried getting the values of the Radio buttons through PHP , and they all end up getting the value of the first if statement only . Any fixes or errors? Whatever if statement i put in first , it gets the value of it . leaving the others behind.

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条回答 默认 最新

  • dongzhang5006 2016-09-26 09:01
    已采纳

    A single equals sign is an assignment: it overwrites the left hand side,

    PHP Comparison Operators

        = means assignment ( $a = 1 ) so it return true 
    
        == is for comparison ( true == false is false ). 
    

    so it should be like this

        if($_POST['radio'] == 0){ } else if($_POST['radio'] == 1){}.....
    
    点赞 评论
  • doufenyu7610 2016-09-26 08:59
       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']));
    
    
    
    }
    }
    

    change from = to ==

    you can see there in php manual Assignment Operators Comparison Operators

    点赞 评论

相关推荐 更多相似问题