2014-03-06 122 views
0

我已經閱讀了現有的答案,但他們在如何實現它們沒有意義。我如何從jquery mobile中的下拉列表中獲取值並保存到mysql數據庫?我訪問下拉列表(這是一種形式),做出我的選擇,然後想提交表單存儲在數據庫中。有人能告訴我一個如何做到這一點的例子嗎?謝謝。從jquery mobile的下拉列表中獲取值並保存到mysql數據庫

<form action="insert.php" method="post"> 
<legend>Date:</legend> 
     <label for="select-choice-month">Month</label><!-- etc. --> 
     <select name="select-choice-month" id="select-choice-month"> 
      <option>Month</option> 
      <option value="jan">January</option> 
      <option value="feb">February</option> 
      <option value="mar">March</option> 
      <option value="apr">April</option> 
      <option value="may">May</option> 
      <option value="jun">June</option> 
      <option value="jul">July</option> 
      <option value="aug">August</option> 
      <option value="sep">September</option> 
      <option value="oct">October</option> 
      <option value="nov">November</option> 
      <option value="dec">December</option>   
     </select> 

     <label for="select-choice-day">Day</label><!-- etc. --> 
     <select name="select-choice-day" id="select-choice-day"> 
      <option>Day</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 
      <option value="11">11</option> 
      <option value="12">12</option> 
      <option value="13">13</option> 
      <option value="14">14</option> 
      <option value="15">15</option> 
      <option value="16">16</option> 
      <option value="17">17</option> 
      <option value="18">18</option> 
      <option value="19">19</option> 
      <option value="20">20</option> 
      <option value="21">21</option> 
      <option value="22">22</option> 
      <option value="23">23</option> 
      <option value="24">24</option> 
      <option value="25">25</option> 
      <option value="26">26</option> 
      <option value="27">27</option> 
      <option value="28">28</option> 
      <option value="29">29</option> 
      <option value="30">30</option> 
      <option value="31">31<option>  
     </select> 
<input type="submit"> 
</form> 

insert.php

// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$sql="INSERT INTO test (month, day) 
VALUES 
('$_POST[select-choice-month]', '$_POST[select-choice-day]')"; 

if (!mysqli_query($con,$sql)) 
    { 
    die('Error: ' . mysqli_error($con)); 
    } 
echo "1 record added"; 

mysqli_close($con); 

非常感謝您的幫助。

+0

可愛[SQL注入攻擊(http://bobby-tables.com)漏洞來做到這一點。享受你的服務器pwn3d。 –

+0

你是什麼意思sql注入攻擊?請解釋 – Rikk

+1

單擊鏈接... –

回答

0

在您的SQL查詢中,查詢的第一部分中有3個參數,但只提供2個值。 (文本,月,日)與(月,日)。編輯:示例已更改爲解決此問題。

此外,直接從$ _ POST變量傳遞到一個查詢,沒有任何形式的衛生條件,使你容易受到SQL注入攻擊的機會。

+0

謝謝你,我已經刪除了額外的參數,因爲不需要它 – Rikk

0

嘗試用AJAX

$.ajax({ 

     url: "insert.php", 
     type: "POST", 
     cache: false, 
     data: $('#form').serialize(), 
     dataType: "json", 
     beforeSend:function() { 

     }, 

     success:function(data) { 

     }, 

     error:function(e) { 
     console.log(e.responseText); 
     }, 

     complete:function() { 

     }, 
     timeout: 10000 


    });//ajax ends 
相關問題