| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

18-08-2009, 08:48
|
|
matcho
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Leipzig
Beiträge: 68
|
|
Geschickte Array-Anwendung bei Session-Übergabe
Hallo,
ich möchte über eine kleine Produktseite mit max. 6-7 Artikeln dem User die Möglichkeit geben, einzelne Produktpakete ihrem "Warenkorb" hinzuzufügen.
Diese Auswahl sollte in Sessionvariablen gespeichert werden und auf nachfolgenden Webseiten wieder verwendet werden.
So sollte in etwa das Array der Produktpalette aussehen:
PHP-Code:
$paket = array(
"Paket_XS" => array("Paket XS", 201004, 79.00),
"Paket_S" => array("Paket S", 201005, 99.00),
"Paket_M" => array("Paket M", 201007, 189.00),
"Paket_L" => array("Paket L", 201008, 279.00),
"Paket_XL" => array("Paket XL", 201012, 379.00),
"Paket_XXL" => array("Paket XXL", 201015, 499.00)
);
Wie sollte nun aber das "In den Warenkorb" - Formular aussehen und mit welchem genauen Namen, so dass das Array-Element über $_POST klar definiert ist und an die Sessionvariable übergeben werden kann.
Bin für jegliche Ansätze und Verbesserungsvorschläge sehr dankbar.
LG
|

18-08-2009, 08:58
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Wo ist dein Problem?
Du hast freie Auswahl bei den Bezeichnern...
|

18-08-2009, 09:35
|
|
matcho
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Leipzig
Beiträge: 68
|
|
ich bin mir nicht genau im klaren, wie ich die einzelnen array-elemente im formular anspreche und wie diese auswahl am besten übergeben werden soll an die session...
PHP-Code:
<form action="?content=produkte" method="post">"
<h2>Paket S</h2>
<input type="hidden" name="paket["Paket_S"]">
<input type="submit" value="In den Warenkorb" />
</form>
?
|

18-08-2009, 10:33
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von matcho
PHP-Code:
<form action="?content=produkte" method="post">" <h2>Paket S</h2> <input type="hidden" name="paket[Paket_S]"><!-- den Key ohne Gänsefüßchen --> <input type="submit" value="In den Warenkorb" /> </form>
|
Wenn's immer noch nicht geht, bitte nochmal genauer schreiben, worum es geht, was du schon hast, was du erwartest und das alles...
Gruß,
Anja
|

18-08-2009, 11:04
|
|
matcho
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Leipzig
Beiträge: 68
|
|
Ok, dann schieben wir die Sache mit der Session erstmal nach hinten, denn schließlich funktioniert es schon bei der Übergabe des Formulars nicht richtig.
Das Produkt-Array sollte wie folgt aussehen:
PHP-Code:
$paket = array(
"Paket_XS" => array("Paket XS", 201004, 79.00),
"Paket_S" => array("Paket S", 201005, 99.00),
"Paket_M" => array("Paket M", 201007, 189.00),
"Paket_L" => array("Paket L", 201008, 279.00),
"Paket_XL" => array("Paket XL", 201012, 379.00),
"Paket_XXL" => array("Paket XXL", 201015, 499.00)
);
Jetzt sollte über das Formular das Array Paket_XS in einer Variablen gespeichert und komplett ausgegeben werden.
PHP-Code:
<form action="?content=produkte" method="post">
<h2>Paket S</h2>
<input type="hidden" name="paket[Paket_S]">
<input type="submit" value="In den Warenkorb" />
</form>
Ausgabe:
PHP-Code:
echo $_POST['paket']
gibt Array aus, sollte aber das aus dem Formular gewählte Paket ausgeben.
|

18-08-2009, 11:14
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von matcho
PHP-Code:
$paket = array( "Paket_XS" => array("Paket XS", 201004, 79.00), "Paket_S" => array("Paket S", 201005, 99.00), "Paket_M" => array("Paket M", 201007, 189.00), "Paket_L" => array("Paket L", 201008, 279.00), "Paket_XL" => array("Paket XL", 201012, 379.00), "Paket_XXL" => array("Paket XXL", 201015, 499.00) );
|
Warum die doppelte Betitelung?
Zitat:
Zitat von matcho
PHP-Code:
echo $_POST['paket']
gibt Array aus, sollte aber das aus dem Formular gewählte Paket ausgeben.
|
Schau dir mal in der Doku den Unterschied von echo, print_r, var_dump und var_export an. Echo funktioniert so nicht für Arrays.
|

18-08-2009, 11:15
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

18-08-2009, 14:55
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von matcho
PHP-Code:
$paket = array(
"Paket_XS" => array("Paket XS", 201004, 79.00),
"Paket_S" => array("Paket S", 201005, 99.00),
|
Warum willst du den Paketnamen eigentlich doppelt vorhalten?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

19-08-2009, 08:22
|
|
matcho
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Ort: Leipzig
Beiträge: 68
|
|
sag ich nicht
danke für die zahlreichen antworten
|

19-08-2009, 09:13
|
|
Slava
PHP Senior
|
|
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.583
|
|
Zitat:
Zitat von wahsaga
Warum willst du den Paketnamen eigentlich doppelt vorhalten?
|
und wenn man nicht weis, wie man bei dem Array sein Key ausliest?
außerdem sicher ist sicher
Geändert von Slava (19-08-2009 um 09:18 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|