2016-09-26 81 views
-1

我试图通过PHP获取单选按钮的值,并且它们都最终只获取第一个if语句的值。任何修复或错误?不管我是否先陈述陈述,它都会得到它的价值。留下其他人。单选按钮与PHP获得相同的值

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

它应该是这样的,如果($ _ POST [ '无线电'] == 0){}不是单一等于= – JYoThI

+0

另外,为什么不使用'else if' – Pete

回答

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){}..... 
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 Çomparison Operators