2017-02-15 7 views
2

Мне нужно передать значение параметра php/lend.php, чтобы сделать запрос с этим значением. Я попытался опубликовать значение и echo их в файле lend.php, но он говорит 'undefined index'. Может кто-нибудь, пожалуйста, просмотрите мой код, чтобы увидеть, что я делаю что-то неправильно?Передача значения динамически заполненного раскрывающегося списка в файл PHP

DROPDOWNLIST файл:

<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

В вашей форме нет ввода имени apparaatnaam, clientnaam и organisatienaam. Поэтому эти 3 постпеременные переменные, которые вы хотите прочитать, не будут определены.

Что вы имеете в своей форме selectapparaat, чтобы вы могли прочитать выбранный вариант с $_POST['selectapparaat']

редактирования: Я могу также рекомендуем использовать apparaatid для стоимости опций, а не их имена. (Только если вы используете выбранное значение для дополнительных запросов БД.) Это упростит дальнейшие запросы и сделает не требующим, чтобы 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 запросы на этой странице поэтому не сработают. попробуйте это вместо

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

Большое спасибо! –

+0

Спасибо за советы, это очень полезно для меня;) –