将动态填充的下拉列表的值传递给PHP文件

时间:2017-02-15 09:49:49

标签: php html drop-down-menu

我需要将选项值传递给php/lend.php以使用该值进行查询。我尝试将值echo发布到lend.php文件中,但它显示'undefined index'。有人可以查看我的代码,看看我做错了吗?

下拉列表文件

<form action="php/lend.php" method="post" accept-charset="utf-8">
    <div class="input-group">
        <select id="selectapparaat" name="selectapparaat" class="selectpicker form-control" data-live-search="true" onchange="grabDevice(this.value)">
            <option value="" disabled selected>Naam apparaat</option>
            <?php
                $queryapparaten = "SELECT apparaatnaam FROM apparaten ";
                $db = mysqli_query($db,$queryapparaten);
                while ( $d=mysqli_fetch_assoc($db)) {
                    echo "<option value='".$d['apparaatnaam']."'>".$d['apparaatnaam']."</option>";
                }
            ?>
        </select>
        <span class="input-group-btn">
            <button class="btn btn-default" disabled type="button" data-toggle="modal" data-target=""><span class="glyphicon glyphicon-plus" ></span></button>
        </span>
    </div>
    <button type="submit" class="btn btn-lg btn-primary btn-block" name="uitlenen" style="width: 100%;">Uitlenen</button>
</form>

php / lend.php:

<?php
    require 'database.php';

    if (isset($_POST['uitlenen'])) {
       $a = $_POST['apparaatnaam'];
       $b = $_POST['clientnaam'];
       $c = $_POST['organisatienaam'];

       echo $a;
       echo "</br>";
       echo $b;
       echo "</br>";
       echo $c;
   }
?>

1 个答案:

答案 0 :(得分:1)

在您的表单中没有名为apparaatnaam,clientnaam和organisatienaam的输入。因此,您想要阅读的3个帖子变量将不会被定义。

您在表单中使用的是selectapparaat,因此您可以使用$_POST['selectapparaat']

阅读所选选项
  

编辑:我还建议使用apparaatid来获取值   选项,而不是他们的名字。 (仅当您使用所选值时)   进一步的DB-querys。)这将使进一步的查询更容易   不要求apparaatnaam是独一无二的。

$queryapparaten = "SELECT id, apparaatnaam FROM apparaten ";
$db = mysqli_query($db,$queryapparaten);
while ( $d=mysqli_fetch_assoc($db)) {
    echo "<option value='".$d['id']."'>".$d['apparaatnaam']."</option>";
}
  

edit2:哦,还有一件事,似乎你在覆盖你的   db-connection-variable与查询结果。进一步的db   因此,此页面上的查询将不起作用。试试这个

$queryapparaten = "SELECT id, apparaatnaam FROM apparaten ";
$result = mysqli_query($db,$queryapparaten);
while ( $d=mysqli_fetch_assoc($result)) {