Hallo Ihr.
Ich habe mit Hilfe von Seesion und einem Array einen Warenkorb gemacht. Die Artikel zu dem Array zuzufügen geht und auch die Ausgabe, nun habe ich aber Probleme, wenn ich im Warenkorb einige Artikel löschen will.
So kommt der Array zustande (POST-Variablen kommen von einem Formular):
PHP-Code:
$id = $_POST["id"];
$anzahl = $_POST["anzahl"];
$name = $_POST["name"];
// Sessionvariablen erstellen
$_SESSION['warenkorb'][] = array('id' => $id, 'anzahl' => $anzahl);
Und hier der Warenkorb:
PHP-Code:
<?php
if (isset($_GET["delete"]))
$delete = $_GET["delete"];
else
$delete = "";
if(!empty($delete))
{
unset($_SESSION["warenkorb"][$delete]);
die ("Artikel erfolgreich gelöscht
[url='index.php?section=shop&cat=Warenkorb']Zurück[/url]");
}
echo"
<font color='000000' face='Arial' size='2'>[b]Ihr Warenkorb:[/b]</font>
";
$i = "0";
while(!empty($_SESSION["warenkorb"][$i]))
{
$artikel_id = $_SESSION["warenkorb"]["$i"]["id"];
$abfrage1 = "SELECT * FROM shop_artikel WHERE artikel_id = '$artikel_id'";
$ergebnis1 = mysql_query($abfrage1);
while($row = mysql_fetch_object($ergebnis1))
{
$a = $i+1;
echo "[b]$a.[/b] ";
echo $_SESSION["warenkorb"]["$i"]["anzahl"];
echo " mal $row->artikel_name [url='index.php?section=shop&cat=Warenkorb&delete=$i']löschen[/url]";
echo"
";
}
$i++;
}
echo"
[url='index.php?section=shop&cat=Delete']Warenkorb löschen[/url]";
?>
In der While-Schleife wird alles ordentlich ausgegeben. Aber wenn ich z.B. 3 Artikel habe und den 2. löschen will, dann verschwindet auch der 3. Artikel und der 1. Geht garnicht zu löschen. Das Löschen wird in der selben Datei gemacht, wie ihr seht übergebe ich dazu die id ($delete) des Arrays über die URL.[/url]