2016-09-26 80 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