Wo sind die Profis? Auswertung

Komponist

Grünschnabel
Hallo zusammen!

Ich habe bereits gestern einen Beitrag in dieses Forum gestellt und habe leider nur eine Antwort bekommen mit der ich auch nicht sonderlich weitergekommen bin.

Aus diesem Grund habe ich als Anhang zu diesem Beitrag mein bisheriges schaffen angehängt.

Es geht um einen Kundenbereich in dem Kunden schnell und leicht Ihre Bestellung abgeben können.

In der auswahl.inc wird eine Tabelle erstellt, dessen Eingabefelder automatisch mit der Artikelnummer benannt werden um später die richtige Zuordnung zu haben.

Hier entsteht schon der erste Lapsus da nach dem Absenden die Eingabefelder wie folgt beschriftet werden:

Ausgabe nach print_r ($_POST)

Array ( [124305-35__;] => [124405-25__;] => [124406-25__;] => [124605-25__;] => [124605-30__;] => [124606-20__;] => [124606-25__;] => [124606-30__;] => [124606-35__;] => [Bestellen] => Bestellen )

Hinter jeder Artikelnummer steht noch ein Semikolon. So kann ich es nachher nicht in der Klammer ansprechen [ ] da es sonst Fehler hagelt.

Zudem habe ich überhaupt keinen Plan wie ich diese in $_POST hinterlegten Informationen auswerten kann und die auch noch so das ich nicht für alle Produkte so eine Zeile einfügen muss:

$_124305-35 = $_POST [124305-35];
$_124405-25 = $_POST [124405-25];
usw.

Damit wäre auch jeder Sinn des gesamten Codes beim Teufel!

Kann mir jemand aus der Klemme helfen

Grüße Stefan
 
Zuletzt bearbeitet:
Hallo,
die Semikolons hinter den Artikelnummern kommen ja nicht von allein rein. Da wirst Du schon etwas dafür getan haben. Etwas Code wäre an dieser Stelle hilfreich, denn sonst muss man nur unnötige Vermutungen anstellen.
Zudem habe ich überhaupt keinen Plan wie ich diese in $_POST hinterlegten Informationen auswerten kann und die auch noch so das ich nicht für alle Produkte so eine Zeile einfügen muss:

$_124305-35 = $_POST [124305-35];
$_124405-25 = $_POST [124405-25];
usw.
$_POST ist ein Array. Jeder Index des Arrays entspricht einem Formularfeld und der Wert der jeweiligen Array-Position dem Inhalt des Formularfeldes. Also kannst Du gleich mit dem Array arbeiten und musst nicht für jeder Array-Position eine neue Variable erstellen.

snuu
 
Waere hilfreich, wenn du das HTML dazu posten wuerdest.

Dein print_r Ergebnis sieht ein wenig seltsam aus... Mach mal ein [phpf]var_dump[/phpf] und schau dir die resultierende Seite im Quelltext, nicht im Browser an.

Ich nehme an du hast solche Textfelder:
Code:
<input type="text" name="124305-35" value="" />

Ich wuerde die Namen nie mit Zahlen beginnen lassen; Haeng einfach mal einen Buchstaben davor, den kannst du ja spaeter wieder entfernen:

Code:
<input type="text" name="x124305-35" value="" />

$_124305-35 = $_POST [124305-35];
Hier musst du aufpassen - Arrays werden mit Strings indiziert, also so:
PHP:
$_124305-35 = $_POST ['124305-35'];

Auszerdem verwende lieber einen Buchstaben anstatt dem Unterstrich, da der oft dazu benutzt wird, um globale Variablen zu kennzeichnen - kann einen anderen, der deinen Code liest verwirren.

Ansonsten var_dump()e ein bisschen rum, ich glaube der Fehler ist schnell gefunden.
 
Zurück