Autor | Zpráva | ||
---|---|---|---|
hexcross. Profil * |
#1 · Zasláno: 30. 4. 2011, 15:31:17
Zdravím,
vytvářím nákupní košík v PHP zasekl jsem se hned na začátku, hledal jsem to snad všude marně! Vypíše se mi jen "Array". Když definuji jednoduché session vypíše se v pořádku. Když chci vypsat pole Session nevypíše se nic...já už nevím jak dál... if (isset($_GET['action']) and $_GET['action']=="add") { $_SESSION['kosik'][$_POST['id']] = array("pocet" => "$_POST[pocet]"); echo "Zboží bylo přidáno.<br />"; } echo "$_SESSION[kosik]"; Díky. |
||
Tori Profil |
#2 · Zasláno: 30. 4. 2011, 15:45:44
$_SESSION[kosik] je přece pole, tak co jiného by se vám mělo vypsat echem, ne-li "Array". Nevím co přesně chcete vypsat - pokud seznam všeho objednaného zboží, tak koukněte na foreach.
|
||
Mastodont Profil |
#3 · Zasláno: 30. 4. 2011, 15:49:07
Pro výpis pole slouží var_dump nebo print_r, ne echo.
|
||
Keeehi Profil |
#4 · Zasláno: 30. 4. 2011, 15:53:09
Mastodont:
To ano, ale to spíše slouží k testovacím účelům ao to myslím hexcross. nejde. Nejlepší bude to pole projít foreachem jak psala Tori. |
||
Stano Profil * |
#5 · Zasláno: 30. 4. 2011, 15:53:15
namiesto $_SESSION['kosik'][$_POST['id']] = array("pocet" => "$_POST[pocet]"); ti nestačí len $_SESSION['kosik'][$_POST['id']] = $_POST["pocet"]; potom by si tam už nemal pole. |
||
jenikkozak Profil |
#6 · Zasláno: 30. 4. 2011, 16:42:44
Stano:
„potom by si tam už nemal pole“ Měl. Aby tam žádné pole nebylo, musel by to zapsat pomocí $_SESSION=$_POST["pocet"]; Pokud chce kromě počtu vybraných položek k vybranému zboží uložit i jinou informaci (například barvu) do SESSION, nemůžeš ani z toho posledního pole vytvořit prostou proměnnou. |
||
hexcross. Profil * |
#7 · Zasláno: 30. 4. 2011, 17:32:29
Díky za pomoc,
každopádně jsem funkcni foreach nikdy nepochopil ač jsem se snažil najít její využití.. Pro takové operace využívám výhradně funkci while...asi chyba :) Nemohli by jste prosím stvořit nějáké jednoduché řešení z kterého bych to pochopil? Tori : Ano potřebuji vypsat ID zboží v košíku + počet od každého kusu. |
||
hexcross. Profil * |
#8 · Zasláno: 30. 4. 2011, 17:33:10
Stano:
Ja tam ale potřebuji mít pole, session bez pole ovládám ber problémů ale toto mi děla problém... :) |
||
Tori Profil |
#9 · Zasláno: 30. 4. 2011, 17:43:06 · Upravil/a: Tori
hexcross.:
„každopádně jsem funkcni foreach nikdy nepochopil“ Koukněte na ten odkaz do manuálu, jsou tam příklady použití. Když vám je bližší while, najdete tam i způsob, jak lze totéž zapsat pomocí while i foreach. Zkuste si trochu pohrát, třeba si projít pomocí foreach nějaké pole obsahující jiné pole (např.ten košík v session) a v každé iteraci si vypsat, co se vlastně načetlo jako klíč/hodnota. Mně to pomohlo, když jsem se učila používat cykly. |
||
hexcross. Profil * |
#10 · Zasláno: 30. 4. 2011, 17:57:52
Tori:
Pokusím se o to :) Zkoušel jsem něco jen tak na slepo : while($_SESSION['kosik']){ echo "$kosik[id]"; } Překvapivě neúspěšně :D Možná ani nechápu kam se jaké pole ukládá...už sem z toho zmatenej... |
||
Tori Profil |
#11 · Zasláno: 30. 4. 2011, 18:06:23
hexcross.:
Koukněte, co vám vypíše třeba tohle: foreach ($_SESSION['kosik'] as $klic => $hodnota) { echo "<br>Klic = $klic, hodnota = ".print_r($hodnota,1); } |
||
Taps Profil |
#12 · Zasláno: 30. 4. 2011, 22:10:14
hexcross.:
tady je určitá inspirace http://php.vrana.cz/nakupni-kosik.php http://php.vrana.cz/nakupni-kosik-v-cookie.php |
||
hexcross. Profil * |
#13 · Zasláno: 30. 4. 2011, 22:30:03
Tori:
Dík moc mi to pomohlo :) Košík už mi na 90% funguje a to díky tobě ;) :D |
||
hexcross. Profil * |
#14 · Zasláno: 30. 4. 2011, 22:30:36
Taps:
Dík to jsem studoval už dávno ještě než jsem zakládal tento topic ;) |
||
Časová prodleva: 13 let
|
0