Autor Zpráva
hexcross.
Profil *
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
$_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
Pro výpis pole slouží var_dump nebo print_r, ne echo.
Keeehi
Profil
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 *
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
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 *
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 *
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
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 *
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
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
hexcross.:
tady je určitá inspirace
http://php.vrana.cz/nakupni-kosik.php
http://php.vrana.cz/nakupni-kosik-v-cookie.php
hexcross.
Profil *
Tori:
Dík moc mi to pomohlo :)

Košík už mi na 90% funguje a to díky tobě ;) :D
hexcross.
Profil *
Taps:
Dík to jsem studoval už dávno ještě než jsem zakládal tento topic ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: