2016-10-04 110 views
0

我有一個網頁上有一個單選按鈕和複選框的表單,我試圖在表單提交時將數據插入到數據庫中。當我提交表單中的字段保持不變(默認條目中的所有其他條目插入,只有這兩個是給我的問題將數據從單選按鈕和複選框發佈到數據庫中

創建表:。

CREATE TABLE users (
    gender varchar(255) NOT NULL, 
    specialmem BOOL NOT NULL, 
) ENGINE=InnoDB; 

形式:

<div class="form-group"> 
    <label for="sex">Gender:</label> 
    <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> 
    value="female">Female 
    <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?>value="male">Male 
</div> 
<div class="form-group"> 
    <label for="specialmem">Are you a Special member?</label> 
    <input type="checkbox" name="specialmem" class="form-control" id="specialmem" value="1"> 
    <button type="submit" class="btn btn-default">Submit</button> 
</div> 

插入到數據庫:

if(isset($_POST['submitted'])) { 
    $gender= $_POST['gender']; 
    $specialmem= $_POST['specialmem']; 
    $sqlinsert = "INSERT INTO users (gender, specialmem) VALUES ('$gender','$specialmember')"; 
} 
+0

那麼執行查詢的代碼在哪裏呢?只是寫一個查詢不會執行它.. –

+0

谷歌如何使用PDO,有關於它的一千個帖子。 –

+0

有一個提交表單的按鈕。其他領域提交沒有問題,只是複選框和單選按鈕不是。 – shelum

回答

1

取代HTML代碼與下面的代碼,然後嘗試再次

<div class="form-group"> 
    <label for="sex">Gender:</label> 
    <input type="radio" name="gender" value="female" 
     <?php if(isset($gender)) { 
      if($gender='female') { 
       echo 'selected'; 
      } 
     } ?> 
    >Female 
    <input type="radio" name="gender" value="male" 
     <?php if(isset($gender)) { 
      if($gender='male') { 
       echo 'selected'; 
      } 
     } ?> 
    >Male 
</div> 
<div class="form-group"> 
    <label for="specialmem">Are you a Special member?</label> 
    <input type="checkbox" name="specialmem" value="1" class="form-control" id="specialmem" placeholder=""> 
    <?php 
     if(isset($_POST['specialmem'])) { 
      if ($_POST['specialmem'] == '1') { 
       $specialmem = $_POST['specialmem']; 
      } else { 
       $specialmem=0; 
      }     
     } 
    ?> 
    <button type="submit" name="submitted" class="btn btn-default">Submit</button> 
</div> 
1

你使用會產生「開」,如果查了$ _ POST字符串的形式複選框:但是 $_POST = array(["specialmem"]=> "on")

您的數據庫,是一個布爾值。你需要做的是一個額外的步驟,如: if($_POST["specialmem"] == "on"){ $specialmem =1; // the value to insert }

另外,您嘗試插入到數據庫中的變量稱爲「$ specialmember」,應該是「$ specialmem」

你的性別單選按鈕的代碼似乎沒問題。它應該工作。

相關問題