PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bearbeiten eines Session Arrays



Gsus
02-08-2005, 15:45
Hallo ich mal wieder...

Ich bin schon um einiges weiter, ich weiss jetzt wie aber...

ich übergebe dem warenkorb.php mittels link den Namen des Artikels nun soll dieser Name in einem Session-Array abgespeichert werden.

Mein Problem wenn ich es so mache:

$_SESSION['warenkorb']=array($ware);

$waren = $_SESSION["warenkorb"];
$zahl = count($waren);
for($i = 0; $i <=$zahl; $i++ ) {
echo "<td> ".$waren[$i]."</td> ";
}


kommt zwar der name dabei raus aber wenn ich das nächste in den Warenkorb übergebe wird der Erste eintrag wieder überschrieben.

Wenn ich es so mache:


if (isset($_SESSION['warenkorb']))
{
$_SESSION['warenkorb'] = $ware;
}
else{
$_SESSION['warenkorb']=array();
$_SESSION['warenkorb'] = $ware;
}

$waren = $_SESSION["warenkorb"];
$zahl = count($waren);
for($i = 0; $i <=$zahl; $i++ ) {
echo "<td> ".$waren[$i]."</td> ";
}


kommt nur "A" raus, also habe ich mal, dass gemacht:



var_dump($waren);



dabei kamm dass raus:




string(19) "A girls best friend"


also ein String ... ich will aber eigentlich nur das ich immer wenn ich die Seite aufrufe der übergebene Name dem Array hinzugefügt wird.

Was mache ich falsch??

mfg

Gsus

klewan
02-08-2005, 22:43
array_push ?



array_push($_SESSION["warenkorb"], $ware)
array_push($_SESSION["warenkorb"], "A girls best friend")

var_dump($_SESSION["warenkorb"]);

Gsus
03-08-2005, 06:02
nein das war es nicht... oder vielleicht doch aber ich bekomme es nicht hin, dass _SESSION['warenkorb'] zum Array wird.



Warning: array_push() [function.array-push]: First argument should be an array in C:\apachefriends\xampp\htdocs\1artprint\warenkorb. php on line 16

Ich brauch ja eigentlich nur eine Globale Array-Variable die während einer Session immer veränderbar ist. Ein Freund hatte nun gemeint ich solle den Warenkorb in die SQL Datenbank machen, Aber ich glaube das Funktioniert nicht. Das hieße ja dann das ich für jeden User eine eigene Tabelle anlegen müsste.

Ich überlege weiter.

Mfg Gsus

BlueJay
03-08-2005, 08:32
nein das war es nicht... oder vielleicht doch aber ich bekomme es nicht hin, dass _SESSION['warenkorb'] zum Array wird.

$_SESSION ist ein eindimensionales Array, du hast auf eins der Elemente zugegriffen. Was du brauchst, ist ein 2-dimensionales, etwa so:
$_SESSION['warenkorb']['dingsbumsda']



Ein Freund hatte nun gemeint ich solle den Warenkorb in die SQL Datenbank machen
Wo er recht hat, hat er recht. Du brauchst 2 Tabellen, eine für den Warenkorb (Angebote), eine für die User, da sollte aber eine Zeile pro Nase reichen, mit den Feldern der Userdaten, dann ein Feld Bestellung mit "Nümmerkes" zum Warenkorb (Schlüssel), eventuell kommagetrennt bei Mehrfachbestellungen.
Man kann's noch weitertreiben, indem die Userdaten von den Bestelldaten getrennt gehalten werden, dann ist eine 3. Tabelle fällig mit vielleicht Vorgang, datum, userkey, warenkorbkey, anzahl, gesendet, bezahlt

So long,
BlueJay

Gsus
10-08-2005, 16:08
Wo er recht hat, hat er recht.

Also danke erstmal für die Hilfe ich bin kurz vor fertig (Sprich es geht bald online) ich wollte mich mal für die hilfe bedanken die du mir damit gegeben hast. Nicht nur das ich jetzt SQL Statments kann ... (naja soweit ich sie brauchte). Nein der Shop läuft jetzt fast absolut dynamisch.

Naja einfach nochmal Danke an alle die sich meine S****e angehört haben :rolleyes:

mfg

Gsus