【问题标题】:get the value from a drop down list in jquery mobile and save to mysql database从 jquery mobile 的下拉列表中获取值并保存到 mysql 数据库
【发布时间】:2014-03-06 22:10:10
【问题描述】:

我已经阅读了现有的答案,但它们对如何实施它们毫无意义。如何从 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>

插入.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);

非常感谢您的帮助。

【问题讨论】:

  • 可爱的sql injection attack 漏洞。享受您的服务器 pwn3d。
  • 什么是sql注入攻击?请解释
  • 附加链接 => stackoverflow.com/q/60174 --- 或者,俗话说,click here。 ;-)
  • 试试这个: var month = $("#select-choice-month option").text();或者我认为 .val() 会给你价值......

标签: php jquery mysql jquery-mobile


【解决方案1】:

在您的 SQL 查询中,您在查询的第一部分有 3 个参数,但只提供了 2 个值。在这种情况下,(文本,月,日)与(月,日)。编辑:更改示例以解决此问题。

此外,直接从 $_POST 将变量传递到查询中而不进行任何清理可能会使您容易受到 SQL 注入攻击。

【讨论】:

  • 谢谢,多余的参数我已经去掉了,因为不需要了
【解决方案2】:

尝试使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多