2017-04-02 5 views
1

Nach dem Klicken auf "Löschen" (senden): Ich kann sagen, dass es das Formular verarbeitet, weil ich den Fehler "Sie haben vergessen, einen Kreditor zu löschen.".html Formular Beitrag sendet keine variablen Daten

Das Formular selbst wird mit PHP generiert. Wenn ich die HTML-Ausgabe überprüfe, sehe ich, dass die Werte dort sind. Aber wenn es zum POST kommt, überträgt sich nichts. Ich teste und benutze einen lokalen Host, also bin ich mir außer dem bestehenden Aktionslink nicht sicher, was ich noch modifizieren kann.

Ich habe genau den gleichen Code in einem anderen Löschformular und es funktioniert gut. Ich habe buchstäblich das andere Formular kopiert, um dieses zu erstellen, und habe nur die SQL-/Variablennamen geändert.

form with open drop down form with closed drop down

PHP-Code:

#delete vendor 
require('includes/mysqli_connect.php'); 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $errors = array(); //array to collect errors 

    //check to ensure fields are filled out 
    if (!empty($_POST['vendor'])) { 
     $vendor = trim($_POST['vendor']); 
    } 
    else { 
     $errors[] = "<p>You forgot to select a vendor to delete</p>"; 
    } 

    if (empty($errors)) { 
     //insert information into appt table 
     $query = "UPDATE vendors_t SET active = 0 WHERE vendorID = $vendor;"; 
     $result = mysqli_query($dbc, $query); 
     if($result){ 
      echo '<div class="alert alert-success" role="alert">'; 
      echo '<h2>Thank you!</h2>'; 
      echo '<p> Your request to delete vendorID ' . $customerID . 'has been completed </p></div>'; 
     } else { 
      echo "Error updating record: " . mysqli_error($dbc); 
     } 
    } else{ 
     echo '<div class="alert alert-danger" role="alert"><br>'; 
     echo '<h2>Errors Detected</h2>'; 
     echo '<p>The following errors occured:<br/>'; 
     foreach ($errors as $msg) { 
      echo "$msg<br/>\n"; 
     } 
     echo '</p><p>Please try again. </p></div>'; 
    } 

} 

HTML-Code

<div class="container standout" > 
    <div class="col-lg-12"> 
     <h2>Delete a vendor</h2> 
     <p> Please select a vendor to delete.</p> 
    </div> 
    <div class="row"> 
     <form action="index.php?pagelet=deletevendor" method="post"> 
      <div class="form-group col-md-4"> 
       <label for="vendor">Vendors</label> 
       <select name="vendor" class="form-control"> 
        <option name="vendor" selected disabled>Choose here</option> 
        <?php 
         $query = "SELECT vendorID, contactFname, contactLname, businessName FROM vendors_T WHERE active = 1;"; 
         $result = mysqli_query($dbc, $query); 

         while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {     
          echo '<option name="vendor" value="'.$row['vendorID'].'">' 
            .$row['vendorID'].' '.$row['businessName'] 
            .' '.$row['contactFname'].' '.$row['contactLname'] 
           .'</option>'; 
         }?> 
       </select> 
       <br> 
       <br> 
       <input class="btn btn-primary" id="submit" type="submit" value="Delete"> 
      </div> 
     </div> 
    </form> 
</div> 
+0

Können wir das Markup für das Formular sehen, ich vermute sehr, dass Sie kein Feld namens "Vendor" darin haben. – mayersdesign

+0

Entfernen ** ausgewählt ** von

+0

entfernen Sie Name = 'Hersteller' aus Optionen (

Antwort

0

Ihre Option Namen sollten der Wert der Vendor-ID (ich nehme an) und sicherlich nicht "Verkäufer".

0

entfernen name = "vendor" von Optionen & Entfernen ausgewählt beide arbeiten.

Nach dem Entfernen von name = "vendor" - ich habe ausgewählt zurück und es funktioniert immer noch. Danke !!