Sessiondaten ergänzen

Lumpi02

Erfahrenes Mitglied
Hi an alle,

ich sitze nun schon 2 Tage vor dem Problem, in einer Session mehrere Daten zu speichern.
Genauer gesagt will ich für einen Onlineshop die Artikel in ihr speichern, um sie später zu verarbeiten, wenn der User die Bestellung ausgefüllt hat.

Das Problem ist, das register_globals auf off ist und auch so bleiben soll und damit die Anweisung : session_register nicht mehr anwendbar ist, wenn ich as php-manual richtig interpretiert habe. Aber wie nun? $_SESSION ist hier eine Lösung, nur wie bekomme ich die neuen Daten zusammen mit den bereits gesammelten Daten in ein array, das ich dann auslesen könnte?

hier mein Versuch (scheitert atm kläglich :( )

PHP:
$atb = $_SESSION['isbn'];  
// prüfen, ob die session angelegt ist
 
if (!isset($atb)) {
// wenn  nicht, dann eintrag ( auch)
$_SESSION['isbn'] = $_POST['isbn'];
$_SESSION['anz'] = $_POST['anz'];
 
} else {
// ist schon eine isbn vergeben
 
$nummer = array($_SESSION['isbn']['anz']);
$nummer[] = $_POST['isbn']['anz'];
// und hier gehts dann los
 
$_SESSION['isbn']['anz'] = $nummer;
// Eintrag bzw update der Session

Irgendwie hab ich nen Fehler drin und ich komme vor lauter Code irgendwie nicht mehr weiter :( Vielleicht sieht einer von euch den Fehler.

Gruß Lumpi02
 
hmm.. Also da du jetzt von session_register gesprochen hast - hast du session_start(); am Anfang gemacht?

zu deinem problem mit dem array:

eigentlich müsste es ne möglichkeit geben zu nem vorhandenen array noch etwas dazu zu packen - hab allerdings keine gefunden im manual..
 
Ja, session_start() is auf den Seiten, die angesprochen sind, überall drauf. Wenn ich den ersten Artikel hinzu füge, es auch prima (mit print_r geschaut), nur eben das hinzufügen von einem 2ten ++ geht nicht wirklich.

Ich hatte es schon versucht, die gesamte Var $_SESSION zu laden und was neues hinzu zufügen, jedoch kommt dann ein array ins nächste, das ist dann doch nicht im Sinne des Erfinders ;)
 
vieleicht kannst du das mit count($array) lösen, also das du einfach die Standartbezeichnungen nimmst $array[0], $array[1] usw.. und ihm dann sagst, er soll
bei $array[count($array)] nen neuen wert hinzufügen (merke: arrays fangen bei 0 an, also gibt count($array) von z.b. 0,1,2 den Wert 3, damit wäre $array[3] und schon hast du eine leere position gefunden :)
bisschen kompliziert erklärt, hoffe du verstehst das =)


*edit:

PHP:
$array[count($array)] = wert der ergänzt werden soll;

*edit2:
so langsam sollte ich mal vorher denken und dann posten ^^ http://de.php.net/manual/de/function.count.php
falls du noch nicht ganz verstehst worauf ich hinauswill *verwirrt erklärt hab*
 
Zuletzt bearbeitet:
Hmm werden mit Count jetzt nicht die Array´s gezählt? Das wären ja immer 2, also das $_SESSION und das neue, welches dazu soll. Ich glaube, du schickst mich auf den Holzweg:eek: .

Aber Danke für deine Bemühung :)
 
ah.. nein.. also soweit ich das verstanden habe (du brauchst nur noch einen array dabei ;)) zählt das die WERT in einem array, schau doch mal auf den link den ich gepostet hab :P

http://de.php.net/manual/de/function.count.php

PHP:
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count ($a);
//$result == 3
// also $a[count($a)] = NEUER WERT;
 
// bzw. in diesem beispiel natürlich auch $a[$result] = NEUER WERT;
?>
 
Zuletzt bearbeitet:
Nun hab ich das alles mal durchprobiert, aber Ergebnis ist: 0 :(

der erste Eintrag , aber beim 2ten Artikel wird der nicht zum array hinzu gefügt *kopfkratz*
 
hmm.. das Ergebnis ist entweder 0 wenn die Variable nicht gesetzt ist (prüfen ;)) oder wenn in der Variable KEINE werte stehen.. auch prüfen.. *g
viel glück =)
Verion

PS: gute nacht ;)
 
Öhm ich meinte das Ergebnis ist gleich null, nicht 0 :-)

n bissl verdreht ausgedrückt ^^
Nun ja, mal ne N8 drüber schlafen, vllt geht morgen was :)

Gute Nacht auch
 
Zurück