Keresés

Új hozzászólás Aktív témák

  • 1ed

    csendes tag

    válasz BM#2 #4341 üzenetére

    A cookie-ban tárolt információ a HTTP kérések fejlécében utazik, ezért a rajtuk végzett módosítások mindig csak a következő HTTP kérés során jutnak érvényre. Kétféle ilyen fejléc van:
    Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure
    illetve
    Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...
    Az előbbit a szerver küldheti a böngészőnek, ha szeretne beállítani egy sütit, az utóbbit pedig a böngésző küldi a szervernek, ha az adott domainhez tartozik valamilyen süti.
    Kétféle süti létezik:
    - munkamenet (session): ez a böngésző bezárásával törődik (kivéve ha úgy zárjuk be a, hogy a létező lapok újra megnyíljanak)
    - tartós (permanent/persistent): egy adott érvényességi idegi létezik (tehát a böngésző bezárása után is megmarad)
    A PHP-ban a setcookie fv-el lehet egy sütit beállítani, a $_COOKIE nevű szuperglobális több segítségével pedig a már létezők értékét elérni. Itt van egy példa, ami talán segíthet megérteni.
    A felhasználókezeléshez azonban session-t szoktak használni. Ilyenkor (alapbeállítás szerint) a session_start(); fv. hívás hatására létrejön egy "PHPSESSID" nevű session cookie, és a későbbikben a PHP ez alapján azonosítja a klienst és állítja elő a hozzá tartozá $_SESSION tömböt. A $_SESSION tömb adatai viszont már nem a kliens gépen hanem a szerveren tárolódnak (így egy kicsit biztonságosabb). Szóval ha felhasználókat szeretnél kezelni, akkor ezt használd. (A belépés és kilépés után ne felejtsd el újrageneráltatni a sessionid-t!)

  • BM#2

    csendes tag

    válasz BM#2 #4341 üzenetére

    Bocs, most vettem észre, hogy az értékének a módosítása is csak az IE bezárása után érvényesül.
    Hogyan törölhetném a tömbből?

Új hozzászólás Aktív témák