2016-06-29 14 views
-1

Ich habe ein Problem mit Daten in eine Tabelle zu senden, der Tabelle alle placed order halten soll, cart_array, name, first name, last name, etc ..einreichen Formular MySQL-Datenbank, arbeiten nur einmal

Sie macht geltend, , das erste Mal, und dann, wenn ich eine andere Bestellung aufgeben möchte, passiert nichts ... es wird die Daten nicht an die Tabelle senden.

Wenn ich den ersten Eintrag aus der Tabelle lösche und die Reihenfolge erneut erstelle, funktioniert es aber die Auto Increment ID springt von der, die ich gerade gelöscht habe (sagen wir von ID-1 bis ID-14, hängt von vielen Versuchen ab ich habe)

der pHP-Block ist

<?php 

function register_transaction($register_order){ 
    array_walk($register_order, 'array_sanitize'); 

    $fields = '`' . implode('`, `', array_keys($register_order)) . '`'; 
    $data = '\'' . implode('\', \'', $register_order) . '\''; 

    mysql_query("INSERT INTO `transactions` ($fields) VALUES ($data)"); 
} 

if (empty($_POST) === false) { 
      $register_order = array(
      'product_id_array' => $_POST['product_id_array'], 
      'payer_email' => $_POST['payer_email'], 
      'first_name' => $_POST['first_name'] 
         );   
      register_transaction($register_order); 

     } 
?> 

Form

<form action="" method="post"> 
    <ul style="position:relative"> 

     <li style="float:none;">Cart<br /> 
     <input type="text" name="product_id_array" value="<?php echo $product_id_array;?>" /></li> 

     <li style="float:none;">Email<br /> 
     <input type="email" name="payer_email" value="<?php echo $user_data["email"];?>" /></li> 

     <li style="float:none;">Name<br /> 
     <input type="text" name="first_name" value="<?php echo $user_data["name"];?>" /></li> 

     <li style="float:none;"> 
     <input type="submit" value="Trimite Comanda" /></li> 
    </ul> 
</form> 
+0

Hinzufügen [Fehler melden] (http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php/845025#845025) an die Oberseite Ihrer Datei (en) _while Testing_ direkt nach dem Öffnen PHP-Tag zum Beispiel ' RiggsFolly

+0

@RiggsFolly Es gibt mir nur "Veraltet: mysql_connect(): Die mysql-Erweiterung ist veraltet und wird in Zukunft entfernt werden:" und ich bin mir darüber bewusst, noch glaube ich nicht, dass dies das Problem ist, weil es einmal funktioniert , und die gesamte Website funktioniert, Registrierung von Benutzern, Hinzufügen von Produkten, Erstellen von Warenkorb-Array .. –

+0

@RiggsFolly das einzige eindeutige Feld in der Tabelle ist ID, die Auto Increment ist .. so sollte es kein Problem sein. –

Antwort

1

Feste ... gab es ein weiteres eindeutiges Feld in die Datenbanktabelle .. Ich habe keine Daten an es gesendet und es blieb leer nach dem ersten Senden, und weil es eindeutig war, konnte es nicht wieder leer sein ..