ugrás a tartalomhoz

PHP cookie probléma

KergeKacsa · 2002. Feb. 16. (Szo), 18.10
Van egy kis gondom.
Az index.php oldalamon idáig volt egy setcookie parancs, és ugyanazon az oldalon kicsit lejjeb kiolvasta a cookie tartalmát(HTTP_COOKIE_VARS), és attól függően folytatódott a futás. (természetesen csak a következő lekérésnél vette figyelembe a cookie-t.)
Most áttértem egy másik módszerre az egyszerűség kedvéért. Az oldal elején require-el berántok egy design.php-t (ugyanabban a könyvtárban van.), amiben függvények (function) írják ki az oldal HTML-kódjának elejét, végét. Magyarul behúzom, és utána lefuttatok egy felso() sort. Na ebbe a függvénybe került a cookie beállítása és a lekérdezése is. Viszont nem müxik.
A setcookie bellítja a cookie (ezt látom), de visszakapni nem tudja.
Mi lehet a probléma? (Esetleg a setcookie parancs domain és/vagy path argumentumaival lehetne büvészkedni.)
 
1

Re: PHP cookie probléma

bbalint · 2002. Már. 1. (P), 10.46
haligali!

a megoldás az, hogy a $HTTP_COOKIE_VARS változó nem globális alapértelmezettként, tehát egy függvényből sohase fogod látni, hacsak nem teszed globális érvényűvé:

 function valami(){
  global $HTTP_COOKIE_VARS;
  if($HTTP_COOKIE_VARS['tesztsuti'] == 'OK'){
  (...)
  }
 }
amúgy php4.1.x és a fölött már van egy $_COOKIE nevű tömb is, ami mindig, mindenhol és mindenkor globális.
2

Re: PHP cookie probléma

Jim · 2004. Feb. 4. (Sze), 14.52
Sziasztok!

Nálam a következő probléma merült fel a sütivel kapcsolatban.

Több helyen is használok ugyanolyan nevű cookie-t, ezért úgy gondolom a megoldás abban rejlik, hogy a setcookie paraméterek között megadom, hogy melyik domain melyik könyvtárából legyen elérhető a süti.
A beállítás így néz ki:
setcookie("cookie", $cookie, time()+(60*60*24), "/utvonal/ahol/a/php/talalhato/", "www.mydomain.hu");

A doksit töviről hegyire átolvastam.
Ennek ellenére, ha beállítom a cookie-t, akkor ugyanezen a domainen, de más könyvtárban lefutó PHP kód is eléri. :(

Rosszul adok meg vmit? Fontos, hogy a domain ugyanaz!
Vagy szerver-beállítás lenne?

Előre is kösz a segítséget!
3

Re: PHP cookie probléma

pappi · 2004. Már. 11. (Cs), 13.40
Sajnos csak nagyon régi emlékeimre támaszkodhatom, de valami olyasmi rémlik, hogy ha megadod a cookie-nak a könvtárat, akkor subfolderekben is látszik a cookie ... tehát ha / -re beállítasz egy cookie-t akkor mindenhol látszani fog ... de mondom ez csak egy ködös emlék ... nem vagyok biztos benne ...
4

Re: PHP cookie probléma

Bártházi András · 2004. Már. 11. (Cs), 18.02
A beállítás így néz ki:
setcookie("cookie", $cookie, time()+(60*60*24), "/utvonal/ahol/a/php/talalhato/", "www.mydomain.hu");


Én azt javasolnám neked, hogy debuggolj. Pl. Firefox segítségével elég jól megnézhetőek a cookie-k paraméterei, illetve van hozzá Live HTTP header kiegészítés is, amivel megnézheted, hogy milyen kommunikáció zajlott le a PHP és a böngésződ között. Ezek alapján kiderülhet, hogy melyik komponensben, hol lehet a hiba.