2014-03-06 83 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 
相关问题