kdkmoorhuhn
Neues Mitglied
Hallo erstmal zusammen, bin nach langer Zeit mal wieder hier im Forum, da ich für einen Freund einen kleinen Shop bastle und dafür hab ich eine Frage. Erstmal der Code:
Zur Erklärung:
Die Schleife liest die Datenbank aus, was wunderbar klappt, damit werden die Produkte angezeigt (da es klappt steht es nicht im geposteten Code drin). Es wird nun ein Eingabefeld produziert wo der Benutzer die Menge angeben kann, diese Eingabe wird in einem Session gespeichert, das natürlich gestartet wurde. Wenn ich jetzt in einem Feld was eintrage, dann wird das auch im Session gespeichert und kann ausgelesen werden.
Zum Problem:
Sobald ein Feld abgeschickt wird, wird zwar das entsprechende Feld in der Session auf den neuen Wert gesetzt, z.B. ein Produkt mit der id = 5 und der eingegebenen Menge 10 wird zu $_SESSION[5]=10 alle andern Felder der Session, z.B. $_SESSION[4] bekommen den "Wert" NULL zugewiesen, was ich natürlich verhindern will, da ich sonst es nicht vernünftig zu meinem Warenkorb übertragen kann.
Jemand eine Idee?
Vielen Dank schon mal für die Mühe, das durchzulesen
PHP:
while ($buch= mysql_fetch_assoc($result)) {
$id = $buch['id'];
if (!isset($_POST[$id])){
$_POST[$id] = 0;
}
echo "<div><form action = '$_SERVER[PHP_SELF]' method = 'post'>Menge: <input type='text' maxlength='3' size='4' value='$_POST[$id]' name= '$id' > $buch[preis] <input type = 'submit' value = 'Bestellen' name = 'submit'></form></div>";
if (isset($_POST[$id]) && isset($_POST['submit']) && !is_null($_POST[$id])) {
$_SESSION[$id] = $_POST[$id];
}
}
foreach ($_SESSION as $key => $value) {
echo "Schlüssel: $key; Wert: $value<br />\n";
}
Zur Erklärung:
Die Schleife liest die Datenbank aus, was wunderbar klappt, damit werden die Produkte angezeigt (da es klappt steht es nicht im geposteten Code drin). Es wird nun ein Eingabefeld produziert wo der Benutzer die Menge angeben kann, diese Eingabe wird in einem Session gespeichert, das natürlich gestartet wurde. Wenn ich jetzt in einem Feld was eintrage, dann wird das auch im Session gespeichert und kann ausgelesen werden.
Zum Problem:
Sobald ein Feld abgeschickt wird, wird zwar das entsprechende Feld in der Session auf den neuen Wert gesetzt, z.B. ein Produkt mit der id = 5 und der eingegebenen Menge 10 wird zu $_SESSION[5]=10 alle andern Felder der Session, z.B. $_SESSION[4] bekommen den "Wert" NULL zugewiesen, was ich natürlich verhindern will, da ich sonst es nicht vernünftig zu meinem Warenkorb übertragen kann.
Jemand eine Idee?
Vielen Dank schon mal für die Mühe, das durchzulesen