使用php和MySql的html下拉列表

使用php和MySql的html下拉列表,php,html,mysql,forms,dropdown,Php,Html,Mysql,Forms,Dropdown,我试图创建一个下拉列表,使用php连接到MySql数据库。但它不起作用,我相信这是一个简单的改变,我需要作出,但由于复杂的花式引导形式,我不能想出它 以下是我的代码: <form method="post" action="bookings.php" class="popup-form"> <fieldset> <input id="email" name="email" type="text" class

我试图创建一个下拉列表,使用php连接到MySql数据库。但它不起作用,我相信这是一个简单的改变,我需要作出,但由于复杂的花式引导形式,我不能想出它

以下是我的代码:

<form method="post" action="bookings.php" class="popup-form">
                    <fieldset>
          <input id="email" name="email" type="text" class="form-control form-white" placeholder="Email">
                    <input id="firstname" name="firstname" type="text" class="form-control form-white" placeholder="Firstname">
                    <input id="lastname" name="lastname" type="text" class="form-control form-white" placeholder="Surname">
          <div class="dropdown">
                        <button id="dLabel" for="retreatseleted" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            Select Retreat:
                        </button>
                        <ul for="retreatseleted" class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
                            <li id="retreatseleted" name="retreatseleted" value="Clifftop Cottage" class="animated lightSpeedIn"><a href="#">Clifftop Cottage</a></li>
                            <li id="retreatseleted" name="retreatseleted" value="Cherry Trees" class="animated lightSpeedIn"><a href="#">Cherry Trees</a></li>
              <li id="retreatseleted" name="retreatseleted" value="The Beach House" class="animated lightSpeedIn"><a href="#">The Beach House</a></li>
                        </ul>
                    </div>
          <input id="fromdate" name="fromdate" type="date" class="form-control form-white" placeholder="From Date:">
          <input id="todate" name="todate" type="date" class="form-control form-white" placeholder="To Date:">
                    <div class="checkbox-holder text-left">
                        <div class="checkbox">
                            <input type="checkbox" value="None" id="squaredOne" name="check" />
                            <label for="squaredOne"><span>I Agree to the <strong>Terms &amp; Conditions</strong></span></label>
                        </div>
                    </div>
                    <button type="submit" value="Submit" class="btn btn-submit">Submit</button>
                    </fieldset>
                </form>

选择撤退:
我同意条款&;条件 提交
我的php代码是:

ob_start();
session_start();

include("connectdb.php");

unset($_SESSION['error']);

  if (!empty($_POST)
   && !empty($_POST['email'])
   && !empty($_POST['firstname'])
   && !empty($_POST['lastname'])
   && !empty($_POST['retreatselected'])
   && !empty($_POST['fromdate'])
   && !empty($_POST['todate'])) {

    $email = $_POST['email'];
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $retreatselected = $_POST['retreatseleted'];
    $fromdate = $_POST['fromdate'];
    $todate = $_POST['todate'];

    $query = "SELECT COUNT(*) AS count FROM bookings WHERE fromdate = '".$fromdate."' and retreatselected = '".$retreatselected."'";
    $result = $db->query($query);
    $data = $result->fetch_assoc();


    if ($data['count'] > 0) {

      $_SESSION['error'] = "Unfortunately this date has already been taken at $retreatselected.";
      header("location: index.php");


    } else {


      $query = "INSERT INTO bookings (email, firstname, lastname, retreatselected, fromdate, todate)
                VALUES ('".$email."','".$firstname."','".$lastname."','".$retreatselected."','".$fromdate."','".$todate."')";
      "</p>";


      $result = $db->query($query);


      if ($result) {

        $_SESSION['thankyou'] = "Thank you for booking $retreatselected. You will receive a confirmation email shortly.";
            header("location: index.php");

      } else {
          echo "SQL Error: " . $db->error;
      }
    }
  }
?>
ob_start();
会话_start();
包括(“connectdb.php”);
取消设置($_会话['error']);
如果(!空($\u POST)
&&!空($\u POST['email'])
&&!空($\u POST['firstname'])
&&!空($\u POST['lastname'])
&&!空($\u POST['recurselected'])
&&!空($\u POST['fromdate'])
&&!空($\u POST['todate'])){
$email=$_POST['email'];
$firstname=$_POST['firstname'];
$lastname=$\u POST['lastname'];
$REVERSELECTED=$_POST['REVERSELECTED'];
$fromdate=$_POST['fromdate'];
$todate=$_POST['todate'];
$query=“选择COUNT(*)作为来自预订的计数,其中fromdate=”“$fromdate.”和returnSelected=”“$returnSelected.””;
$result=$db->query($query);
$data=$result->fetch_assoc();
如果($data['count']>0){
$\u SESSION['error']=“很遗憾,此日期已被选定为$0。”;
标题(“location:index.php”);
}否则{
$query=“插入到预订中(电子邮件、姓氏、姓氏、所选日期、fromdate、todate)
值(“%$email.”、“%$firstname.”、“%$lastname.”、“%$REVERSELECTED.”、“%$fromdate.”、“%$todate.”);
“

”; $result=$db->query($query); 如果($结果){ $\u SESSION['Thankyu']=“感谢您预订$。您将很快收到确认电子邮件。”; 标题(“location:index.php”); }否则{ 回显“SQL错误:”.$db->错误; } } } ?>
当我取出下拉列表和'ReturnSelected'变量时,它可以完美地工作。我在我的数据库中有一列用于选择,我希望用户选择的值显示在数据库中

我很确定这是一个简单的id=/name=/value=修正,但我会疯狂地尝试每一种可能性


非常感谢您的帮助:)

原因是选择的后退不是表单输入字段,因此在
$\u POST
数组中不会有名为
$\u POST['rethselected']
的数据。除非有javascript在后台做一些你没有告诉我们的聪明的事情

替换

<button id="dLabel" for="retreatseleted" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Select Retreat:
</button>
<ul for="retreatseleted" class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
    <li id="retreatseleted" name="retreatseleted" value="Clifftop Cottage" class="animated lightSpeedIn"><a href="#">Clifftop Cottage</a></li>
    <li id="retreatseleted" name="retreatseleted" value="Cherry Trees" class="animated lightSpeedIn"><a href="#">Cherry Trees</a></li>
    <li id="retreatseleted" name="retreatseleted" value="The Beach House" class="animated lightSpeedIn"><a href="#">The Beach House</a></li>
</ul>

选择撤退:

选择撤退:
悬崖别墅
樱桃树
海滩别墅酒店

原因是选择的后退不是表单输入字段,因此在
$\u POST
数组中没有名为
$\u POST['retuselected']
的数据。除非有javascript在后台做一些你没有告诉我们的聪明的事情

替换

<button id="dLabel" for="retreatseleted" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Select Retreat:
</button>
<ul for="retreatseleted" class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
    <li id="retreatseleted" name="retreatseleted" value="Clifftop Cottage" class="animated lightSpeedIn"><a href="#">Clifftop Cottage</a></li>
    <li id="retreatseleted" name="retreatseleted" value="Cherry Trees" class="animated lightSpeedIn"><a href="#">Cherry Trees</a></li>
    <li id="retreatseleted" name="retreatseleted" value="The Beach House" class="animated lightSpeedIn"><a href="#">The Beach House</a></li>
</ul>

选择撤退:

选择撤退:
悬崖别墅
樱桃树
海滩别墅酒店

要保持任何HTML表单元素的twitter引导样式,必须给它一个“表单控件”类。这适用于:

  • 输入(文本)
  • 输入(密码)
  • 输入(收音机)
  • 输入(checbox)
  • 挑选
  • 文本区
因此,根据里格的回答,您应该使用:

Select Retreat:
<select name="retreatseleted" id="retreatseleted" class="form-control">
    <option value="Clifftop Cottage">Clifftop Cottage</option>
    <option value="Cherry Tree">Cherry Trees</option>
    <option value="The Beach House">The Beach House</option>
</select>
选择撤退:
悬崖别墅
樱桃树
海滩别墅酒店

希望这有帮助

要保持任何HTML表单元素的twitter引导样式,必须给它一个“表单控件”类。这适用于:

  • 输入(文本)
  • 输入(密码)
  • 输入(收音机)
  • 输入(checbox)
  • 挑选
  • 文本区
因此,根据里格的回答,您应该使用:

Select Retreat:
<select name="retreatseleted" id="retreatseleted" class="form-control">
    <option value="Clifftop Cottage">Clifftop Cottage</option>
    <option value="Cherry Tree">Cherry Trees</option>
    <option value="The Beach House">The Beach House</option>
</select>
选择撤退:
悬崖别墅
樱桃树
海滩别墅酒店

希望这有帮助

首先,你有3个
  • 和同一个
    id=“recurselected”
    这是不合法的,但也不是你的问题的原因我不认为我是新来的