Wie bekomme ich ein Array in eine Session und wieder raus?

ptolein

Erfahrenes Mitglied
Ich habe zwar in den Postings gesucht, aber nichts gefunden, was mir weiterhilft. Also das altbekannte Thema:
Ich möchte ein eindimensionales Array in eine Session schreiben und dann wieder auslesen.
Mein Quelltext lautet wie folgt:
PHP:
  if (isset($_POST['submit'])) {
  	$izahl=count($_POST['bausteine']);
  	for ($i=0; $i<$izahl; $i++) {
  		 $_SESSION['session_lernbedarfe[$i]']=$_POST['bausteine'][$i];
  	}
  
  echo"Sie sind dabei, folgende Lernbedarfe zuzuweisen:";
  ###ausgabe session lernbedarfe
  
  
  	$anzahl=count($_SESSION['session_lernbedarfe']);
  	for ($a=0; $a<$anzahl; $a++) {
  		$test=$_SESSION['session_lernbedarfe'];
  		var_dump($test);
  
  	}
  ##### ende ausgabe    
  	suchmaske ();
  }
Fehler:
Beim ausgben der Daten mit print_r() und var_dump() bekomme ich für den ersten Teil die richtigen Daten. Wenn ich jedoch auf die Session zugreifen will, dann gibt es nur NULL, NULL....
 
Genau so, wie du jeden anderen Variablentyp in einer Session speicherst und wieder ausliest.
PHP:
$_SESSION['array'] = $array;
print_r($_SESSION['array']);
 
Aber genau das probiere ich ja oben. Zumindest dachte ich das. Ich gebe ja zu, dass Sessions nicht meine Stärke sind, aber ich finde keinen Fehler in der Syntax.
Ich bekomme immernoch "Null" als AUsgabe.

Hier weise ich der Session die Werte zu:
PHP:
$_SESSION['session_lernbedarfe[$i]']=$_POST['bausteine'][$i];
Und hier will ich Sie wieder auselesen:
PHP:
  $test=$_SESSION['session_lernbedarfe[$a]'];
 
Array sind nicht deine Stärke, eigentlich sind SESSION's nämlich auch nur Array's!

PHP:
$_SESSION['session_lernbedarfe'][$i]=$_POST['bausteine'][$i];

PHP:
$test=$_SESSION['session_lernbedarfe'][$a];
 
ich glaube, da hat mich jemand ertappt ;)

Und ich dachte, dass ich nur Sessions nicht begriffen habe. Werde mich nochmal mit der Syntax in eine Ecke stellen und das ausdiskutieren. *lol*

Jetzt funktioniert es auch.

Herzlichen Dank! Ich hab's jetzt auch verstanden.
 
Zurück