ugrás a tartalomhoz

Különbségek az IE-OPERA illetve a FireFox cookie kezelésében

newlamer · 2007. Már. 25. (V), 17.52
Sziasztok. A következő kérdésem lenne: van különbség abban, ahogyan a FireFox a sütiket kezeli az IE-hez és az OPERÁ-hoz képest? Egy alkalmazást készítek, melyben cookie-kal oldok meg néhány felhasználói adat tárolását.
A felhasználó egy gombra kattintva kosarába pakol egy terméket, (termékek listázva vannak az oldalon). Ez egy link, amely PATH info-ként küldi a szervernek a termék ID-jét. A php ellenőrzi az URL-t, kiszedi az ID-t, és egy tömbben tárolja a kiválasztott termék ID-jét. Ezután a tömböt sütibe rakja, majd meghívja a VIEW-t, ahol a süti alapján a 'berakom a kosárba' ikon helyett a kiveszem a kosárból ikon jelenik meg, s mehet az egész a böngészönek.
A probléma ott van, hogy míg IE-ben, OPERÁban jól működik a dolog, FireFox alatt csak a következő képpen:
a felhasználó rákattint a kosárra....betöltődik az oldal, de még mindíg a rekjad a kosárba ikonnal, ekkor a felhasználó frissíti az oldalt... és ekkor, csak ekkor kerül az adat a sütibe, és jelenik meg a másik ikon.
Van ötletetek?
 
1

Re

Max Logan · 2007. Már. 25. (V), 18.11
Nem ismerem a kódodat ezért csak tippelni tudok. Ha egy sütit beállítasz PHP-vel, akkor csak egy reload után fogod tudni PHP-n belül használni. Ez adódik a HTTP protokoll működéséből (csak a reload után küldi vissza a sütit a böngésző).
2

reload

newlamer · 2007. Már. 25. (V), 18.20
A cookie adatokat a view nem a session-ből veszi, elnézést, ezt elírtam. Az adatok változókban mennek át.
3

megoldódott

newlamer · 2007. Már. 26. (H), 03.02
Kipróbáltam, hogy egy location átirányítást végzek a kosár használatakor, újratöltöm az oldalt. A hibát megoldotta, bár nam egésszen értem továbbra sem, hogy IE-ban és Operában miért működik....
Köszi!! :-)
4

Re

Max Logan · 2007. Már. 26. (H), 08.45
Írtam egy rövid script-et a teszteléshez:

<?php

 ob_start();

 echo "<pre>";
 print_r($_COOKIE);
 echo "</pre>";

 setcookie("proba", "cookie_test", mktime(0,0,0,1,1,2008));

 echo "<pre>";
 print_r($_COOKIE);
 echo "</pre>";

 ob_end_flush();

?>
Teszteltem FF 2.0.0.3, Opera 9.10 és IE 6 alatt és minden esetben a már említett eredményt kaptam. Tehát első alkalommal beállítódik a COOKIE, majd egy refresh után tudja csak beolvasni a PHP. Sztem a te kódodban van vmi érdekes megoldás ami a jelenséget okozza. Sztem a FF reagálja le nálad jól a dolgot.
5

ubuntu

juhasztibi · 2007. Aug. 17. (P), 12.04
Sziasztok!

Nem találtam, gondoltam megkérdezem. Firefox hol tárolja el a cookie-kat ubuntu alatt?
Köszönöm a válaszokat!

T.