Autor Zpráva
jefitto44
Profil
Kód:
if(isset($_POST["add-wish"])&&!empty($_POST["prod-id"])) 
    {
        setcookie("wishlist",$rowP->product_id, time()+2592000); // pamätá si 5 dni
        echo "fak";
    }
Fak mi vypíše, len potom keď dumpujem var_dump($_COOKIE), tak tam nemôžem nájsť hodnotu wishlist. Nerozumiem tomu, prečo sa cookies nemôžu nastaviť hocikde v stránke, ale sa musia nastavovať na začiatku? Ja toto potrebujem nastaviť v strede stránky, lebo dokým sa nevypíše tovar, tak nepoznám hodnotu $rowP->product_id

Naozaj si už neviem rady, pridával som aj na koniec ako posledný parameter ,"/" ale stejne to nefunguje. Vie niekto, kde by mohol byť problém? Dik
juriad
Profil
Protože hodnota cookie se klientovi odesílá v HTTP hlavičce, nikoli v těle stránky. Souvisí to s chybou Nejčastější potíže s PHP (FAQ) » headers already sent…
jefitto44
Profil
Niečo som tam porobil a teraz mi to ide aj v strede stránky :O Ako to je možné?
juriad
Profil
Protože jsi něco „porobil“. Nepoužil jsi náhodou funkci ob_start?
jefitto44
Profil
nie.
if(isset($_POST["add-wish"])&&!empty($_POST["prod-id"])) 
    {
        setcookie("wishlist",$_COOKIE["wishlist"].",".$_POST["prod-id"], time()+2592000,"/"); // pamätá si 30 dni
    }
Na konci pribudlo to lomitko a kus som prerobil vkladanie hodnoty. Teraz mi cookies ukladá zoznam produktov podľa ich IDčka s čiarkou, čož je presne to, čo chcem.

Následne select * from product where product_id in ($_COOKIE["wishlist"]) a vypíše mi všetko, ako potrebujem
juriad
Profil
Když ti to funguje... Netuším, zda je to správně, neznám zbytek aplikace.

A víš o tom, že tam máš problém s SQL Injection? Nesmíš věřit ani COOKIE (to totiž pochází od klienta).
jefitto44
Profil
Diky, nenapadlo ma ;)

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: