Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Sessionfrage vom Anfänger...

hallo,

probiere gerade ein wenig mit php ...
leider funzt das Hinzufügen eines Artikels nicht.
Er listet immer nur einen, mehrere übernimmt er nicht.
Woran kann das liegen? Session wird auf jeder Seite gestartet.

Danke, Crzay horse

<?php
session_start();
$_session['korb'] = array();
$_session['korb'][] = array($name, $menge, $farbe, $preis);
$anzahl = count($_session['korb']);
echo "<b>Es befinden sich $anzahl Artikel im Warenkorb:</b><br><br>";
for ($i=0; $i < $anzahl; $i++){
$gesamt = $menge*$preis;
echo "Menge:$menge Artikel: $name Farbe: $farbe Einzelpreis: $preis Gesamt:<b>$gesamt</b><br>" ;}
?>

Hier gehts zum Orginal Eintrag "Sessionfrage vom Anfänger..." im Forum

Antworten

http://www.catb.org/~esr/faqs/smart-questions.html#beprecise


2.

????????????????????????
Danke für die Hilfe, wenn ich nicht bereits gesucht hätte, würde ich hier nicht posten!


3.

Du hast den text offenbar nicht gelesen oder nict verstanden.
Es geht nicht darum, dass ich dir vorwerfe du hättest nicht zuerst selber versucht den Fehler zu finden. Du hast aber nicht die nötigen Informationen geliefert. z.B. gibst du uns irgendein komisches Ausgabeskript für deienn Warenkorb,s chreibst aber das Hinzufügen funktioniert nicht. Was sollen wir dann deiner Meinung nach mit einem Anzaigeskript? Ausserdem schreibst du nur "funktioniert ncihT". Hilft nicht wirklich weiter. Bekommst du eine Fehlermeldung? Wie genau äußert sich das usw.


4.

Dir ist klar, daß $_session etwas anderes als $_SESSION ist?

*** Nobody ***


5.

ok, hab's kapiert.

hier der HTML-Teil bzw. Artikelseite:
<?php session_start()?>
<form method="POST" action="addtobasket.php">
<p>Menge:<input type="text" name="menge" size="10" value="1">
Farbe:<select size="1" name="farbe">
<option>rot</option>
<option>grün</option>
<option>blau</option>
<option>weiß</option>
</select>
<input type="submit" value="Abschicken" name="B1"></p>
<input type="hidden" name="name" value="T-Shirt">
<input type="hidden" name="preis" value="12.95">
</form>


Die Variablen name,preis,menge und farbe werden an die Datei "addtobasket.php" übergeben.
Diese Datei enthält folgende Zeilen:

<?php
session_start();
$_session['korb'] = array();
$_session['korb'][] = array($name, $menge, $farbe, $preis);
$anzahl = count($_session['korb']);
echo "<b>Es befinden sich $anzahl Artikel im Warenkorb:</b><br><br>";
for ($i=0; $i < $anzahl; $i++){
$gesamt = $menge*$preis;
echo "Menge:$menge Artikel: $name Farbe: $farbe Einzelpreis: $preis Gesamt:<b>$gesamt</b><br>" ;}
?>


Die Anzeige im Browser beschränkt sich nur auf eine Ausgabe z.B.:

Es befinden sich 1 Artikel im Warenkorb:

Menge:1 Artikel: lustiges Bild Farbe: rot Einzelpreis: 12.95 Gesamt:12.95

Wenn nun über die HTML Seite noch ein weiterer Artikel in Warenkorb gelegt werden soll, wird der darin bereits befindliche durch den neuen ersetzt, das ist mein Problem. Es gelangt immer nur ein Artikel in den Korb. Dabei müsste doch "$_session['korb'][] = array($name, $menge, $farbe, $preis);" dafür sorgen, das mehrere Artikel in das Array abgelegt werden können, oder

Crazy horse


6.

Aber hier

$_session['korb'] = array();

initialisierst Du aber immer neu, sprich vorhandene Inhalte werden gelöscht. Und nochmal: $_session ist etwas anderes als $_SESSION, Wenn Du Daten in einer Session speichern willst, dann musst Du das auch richtig schreiben.

*** Nobody ***


7.

HALLO,

danke für die schnellen Tipps, ich glaub mir fehlen noch einige Grundlagen...
ich meld mich wieder, wenn ich meine PHP Bücher durch habe...
Crazy Horse


Hier gehts zum Orginal Eintrag "Sessionfrage vom Anfänger..." im Forum
 
phpforum.de | Impressum