2017-02-15 6 views
2

Ich muss den Optionswert an php/lend.php übergeben, um eine Abfrage mit diesem Wert zu erstellen. Ich habe versucht, den Wert und echo sie in der Datei lend.php Datei aber es sagt 'undefined index'. Kann jemand bitte meinen Code durchsehen, um zu sehen, ob ich etwas falsch mache?Wert der dynamisch gefüllten Dropdownliste an PHP-Datei übergeben

Dropdownliste Datei:

<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; 
    } 
?> 

Antwort

1

In dem Formular ist keine Eingabe mit dem Namen apparaatnaam, clientnaam und organisatienaam. Daher werden diese 3 Post-Variablen, die Sie lesen möchten, nicht definiert.

Was Sie in Ihrem Formular haben Sie ist selectapparaat, so dass Sie die gewählte Option mit $_POST['selectapparaat']

bearbeiten lesen konnte: Ich kann auch empfehlen die apparaatid für den Wert der Optionen, ihre Namen nicht. (Nur wenn Sie den ausgewählten Wert für weitere DB-Querys verwenden.) Dies erleichtert die weiteren Abfragen und erfordert nicht, dass apparaatnaam eindeutig ist.

$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: ach ja, und noch eine Sache, es scheint Sie Ihren db-Anschluss-Variable mit dem Ergebnis der Abfrage überschreibt. Weitere db Abfragen auf dieser Seite werden daher nicht funktionieren. Versuchen Sie stattdessen

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

Vielen Dank! –

+0

Danke für deine Tipps, das ist sehr nützlich für mich;) –

Verwandte Themen