Enrico: Problem beim Durchlaufen eines Array

Beitrag lesen

Hallo,

ich denke, dass ich auf dem richtigen Weg bin.

Nach einigen fehlerhaften Versuchen habe ich jetzt das nachfolgende Skript erstellt:

  
<?PHP  
session_start();  
  
   $ID = "bd57296a5fb28645ab49c303d7a7fee5";  
  
   $_SESSION['ID'] = array();  
  
   $_POST['Bezeichnung'] = "Artikel1";  
   $_POST['Anzahl']      = 2;  
   $_POST['Groesse']     = "M";  
   $_POST['Farbe']       = "Rot";  
  
   $_SESSION['ID']['Bezeichnung'] = array();  
   $_SESSION['ID']['Bezeichnung']['Anzahl']  = $_POST['Anzahl'];  
   $_SESSION['ID']['Bezeichnung']['Groesse'] = $_POST['Groesse'];  
   $_SESSION['ID']['Bezeichnung']['Farbe']   = $_POST['Farbe'];  
  
   foreach ($_SESSION['ID'] as $Schluessel => $Wert)  
   {  
      echo ("Key: "    . $Schluessel      . "<br/>\n");  
      echo ("Anzahl: " . $Wert['Anzahl']  . "<br/>\n");  
      echo ("Größe: "  . $Wert['Groesse'] . "<br/>\n");  
      echo ("Farbe: "  . $Wert['Farbe']   . "<br/>\n");  
   }  
  
   echo "<pre>";  
  
   var_dump ($_SESSION['ID']);  
  
   echo "</pre>";  
  
?>  

Es läuft fehlerfrei.

Die Festlegung der Variablen erfolgt hier nur zu Testzwecken.

Im Browser bekomme ich bei der foreach-Schleife folgende Anzeige:

Key:    Bezeichnung
Anzahl: 2
Größe:  M
Farbe:  Rot

var_dump liefert mir folgende Übersicht:

array(1)
{
   ["Bezeichnung"] => array(3)
                      {
                         ["Anzahl"]  => int(2)
                         ["Groesse"] => string(1) "M"
                         ["Farbe"]   => string(3) "Rot"
                      }
}

Aber irgendwie stehe ich noch gewaltig auf dem Schlauch oder habe einen Denkfehler, den ich nicht los werde.

Als ID soll eine zuvor erstelle, hier, wie oben bereits geschrieben, aber festgelegte ID übergeben werden, als eindeutiges Kennzeichen des Session-Array

Als Bezeichnung soll die hier festgelegte Bezeichnung "Artikel 1" das Array "einleiten" und jeweils eine eindeutige Bestellposition mit den weiteren Details Anzahl, Größe und Farbe kennzeichnen

Wie bekomme ich das noch umgesetzt?

Danke und Gruß,
Enrico