Kezdőlap › Fórumok › Programozás › Cookie értékének módosítása
- This topic has 8 hozzászólás, 4 résztvevő, and was last updated 16 years, 10 months telt el by
sayusi.
-
SzerzőBejegyzés
-
2008-08-01-14:05 #2169442
Egy kis előbbrelépés. A
Code:$_COOKIE[‘nev’] = ‘ertek’;kód működik, de csak értéket változtat a futás alatt, magát a sütit nem módosítja. Nem is igazán a válasz érdekel most, hanem hogy ezzel a módszerrel át lehet írni a sütiben lévő értéket, vagy tényleg csak a memóriában írja át az értékét?
2008-08-01-14:05 #2169443Egy kis előbbrelépés. A
Code:$_COOKIE[‘nev’] = ‘ertek’;kód működik, de csak értéket változtat a futás alatt, magát a sütit nem módosítja. Nem is igazán a válasz érdekel most, hanem hogy ezzel a módszerrel át lehet írni a sütiben lévő értéket, vagy tényleg csak a memóriában írja át az értékét?
2008-08-04-23:46 #2169444Kis mese a sütik működéséről.
Amikor te PHP-ban meghívod a setcookie() függvényt, akkor a szerver válaszának HTTP fejléceihez hozzáadódik a „Set-Cookie” fejléc, ami definiálja a cookie élettartamát, hatókörét, nevét és tartalmát. Ezt a kliens vagy megőrzi, vagy nem. Amikor a kliens küldi a következő kérést, akkor az adott kéréshez tartozó cookie-kat összegyűjti, és a „Cookie” fejléccel elküldi a szervernek. Amikor ezt a szerver megkapja, akkor továbbadja még pár másik változóval együtt a feldolgozó programnak (esetünkben ez a PHP). A PHP fogja magát, és egy $_COOKIE nevű tömbbe fésüli ezeket az adatokat. Ha megváltoztatod, akkor nem fog a setcookie() automatikusan lefutni (nem is tehetné meg, túl kevés adata van). A klienst csak akkor lehet megkérni a cookie megváltoztatására, ha újraküldöd a „Set-Cookie” fejlécet, ez pedig egy ismételt setcookie()-t jelent.2008-08-04-23:46 #2169445Kis mese a sütik működéséről.
Amikor te PHP-ban meghívod a setcookie() függvényt, akkor a szerver válaszának HTTP fejléceihez hozzáadódik a „Set-Cookie” fejléc, ami definiálja a cookie élettartamát, hatókörét, nevét és tartalmát. Ezt a kliens vagy megőrzi, vagy nem. Amikor a kliens küldi a következő kérést, akkor az adott kéréshez tartozó cookie-kat összegyűjti, és a „Cookie” fejléccel elküldi a szervernek. Amikor ezt a szerver megkapja, akkor továbbadja még pár másik változóval együtt a feldolgozó programnak (esetünkben ez a PHP). A PHP fogja magát, és egy $_COOKIE nevű tömbbe fésüli ezeket az adatokat. Ha megváltoztatod, akkor nem fog a setcookie() automatikusan lefutni (nem is tehetné meg, túl kevés adata van). A klienst csak akkor lehet megkérni a cookie megváltoztatására, ha újraküldöd a „Set-Cookie” fejlécet, ez pedig egy ismételt setcookie()-t jelent.2008-08-05-14:27 #2169446Köszönöm, így már értem a működését!
2008-08-05-14:27 #2169447Köszönöm, így már értem a működését!
2008-08-27-09:35 #2169448erdsiger wrote:Egy kis előbbrelépés. ACode:$_COOKIE[‘nev’] = ‘ertek’;kód működik, de csak értéket változtat a futás alatt, magát a sütit nem módosítja. Nem is igazán a válasz érdekel most, hanem hogy ezzel a módszerrel át lehet írni a sütiben lévő értéket, vagy tényleg csak a memóriában írja át az értékét?
illetve: felejtsd el a cookiet. Használj sesssion-t helyette.
A cookie azon túl, hogy oldalról oldalra adja a session azonosítót nem igazán használható semmire (IMHO).2008-08-27-09:35 #2169449erdsiger wrote:Egy kis előbbrelépés. ACode:$_COOKIE[‘nev’] = ‘ertek’;kód működik, de csak értéket változtat a futás alatt, magát a sütit nem módosítja. Nem is igazán a válasz érdekel most, hanem hogy ezzel a módszerrel át lehet írni a sütiben lévő értéket, vagy tényleg csak a memóriában írja át az értékét?
illetve: felejtsd el a cookiet. Használj sesssion-t helyette.
A cookie azon túl, hogy oldalról oldalra adja a session azonosítót nem igazán használható semmire (IMHO).2009-12-04-20:03 #1888379Sziasztok!
Az lenne a kérdésem, hogy PHP-ben a cookie értékét meg lehet anélkül változtatni, hogy megszüntetnénk a cookiet? Kerestem a neten megoldást, de nem találtam. A PHP manualban ennél a hozzászólásnál ez a kód található:
Code:$_COOKIE[‘VerifyUser’] = $Cut[0];vagyis valami ilyen megoldás:
Code:$_COOKIE[‘nev’] = ‘ertek’;Ez egyrészt nálam nem működik, másrészt sehol máshol nem találtam ilyen megoldást, így azt is megkérdőjelezem, hogy helyes-e. Az egyedüli megoldás ami működik, hogy először törlöm a cookie-t, majd setcookie()-val újra létrehozom. Ennek az elkerülésére, a fenti megoldáshoz hasonló létezik?
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz