• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

DAtensatz aus Session löschen

Joli

Neues Mitglied
Hi zusammen,
hab mal wieder ein Problemchen... und diesmal hab ich ziemlichen Zeitdruck.. der Shop soll heute fertig werden..

Habe aber ein PRoblem im Warenkorb... und zwar.
Ich füge Weine zum Warenkorb hinzu und auf der seite cart.php kann man dann wieder Positionen rauslöschen. Löschen tue ich per unset().

Code zum Hinzufügen zum Warenkorb:
PHP:
<?
if($_POST['action'] == "add2cart" and $_GET['action'] == "add2cart") {
	if(!empty($_POST['weinid'])) {
		if(!empty($_POST['anzahl']) and istzahl($_POST['anzahl'])) {
			$count = count($_SESSION['cart']);
			$_SESSION['cart'][$count]['id'] = $_POST['weinid'];
			$_SESSION['cart'][$count]['anzahl'] = $_POST['anzahl'];
			$echo = "<h4>Wein erfolgreich dem Warenkorb hinzugefügt.</h4>";
		}
		else $echo = "<h4>Bitte geben sie eine Anzahl ein.</h4>";
	}
	else $echo = "<h4>Es ist ein Fehler aufgetreten. Versuchen Sie es erneut.</h4>";
}
?>

Im Warenkorb (Auflistung):
PHP:
                  <?for($i=0;$i< count($_SESSION['cart']);$i++) {
						$sql = mysql_query("SELECT id, name, pic, preis FROM borst_weine WHERE id = '".$_SESSION['cart'][$i]['id']."'");
						$cart = mysql_fetch_assoc($sql);
					?>
                  <tr>
                  	<td valign="top"><a href="<?= $_SERVER['PHP_SELF'] ?>?weinid=<?= $cart['id'] ?>&amp;pos=<?= $i ?>&amp;action=delete"><img src="pics/close.png" alt="Entfernen" title="Entfernen" /></a></td>
                    <td valign="top"><a href="article.php?weinid=<?= $cart['id'] ?>"><img src="pics/mini/<?= $cart['pic'] ?>" alt="<?= $cart['name'] ?>" /></a></td>
                  <td valign="top"><a href="article.php?weinid=<?= $cart['id'] ?>" class="link"><?= $cart['name'] ?></a></td>
                  <td valign="top" align="right"><?= $_SESSION['cart'][$i]['anzahl'] ?> Stk.</td>
                    <td valign="top" align="right">&euro; <?= number_format($cart['preis'], 2, ",", " ") ?></td>
                    <td valign="top" align="right">&euro; <?= number_format($cart['preis'] * $_SESSION['cart'][$i]['anzahl'], 2, ",", " ") ?></td>
                  </tr>
                <?
					}

				?>

Im Warenkorb Code zum löschen einer Position:
PHP:
<?
if($_GET['action'] == "delete") {
	if(!empty($_GET['weinid']) and isset($_GET['pos'])) {
		echo "<br />POS löschen: ".$_GET['pos']." => ID löschen: #".$_SESSION['cart'][$_GET['pos']]['id'];
		unset($_SESSION['cart'][$_GET['pos']]['id']);
		unset($_SESSION['cart'][$_GET['pos']]['anzahl']);
		unset($_SESSION['cart'][$_GET['pos']]);
		$echo = "<h4>Wein erfolgreich aus dem Warenkorb entfernt.</h4>";
	}
	else $echo = "<h4>Es ist ein Fehler aufgetreten. Versuchen Sie es erneut.</h4>";
}
?>

Wenn ich jetzt im Warenkorb die Position 1 lösche (also der zweite Wein in der Auflistung) dann wird der auch gelöscht aber der nachfolgende Datensatz werden die Inhalte gelöscht. Sprich ID und Anzahl sind leer, aber der Datensatz bleibt bestehen.
Weiß jemand woran das liegen kann?
Gruß
Julian
 
Werbung:
Zurück
Oben