webForumDet fria alternativet

cookies

20 svar · 459 visningar · startad av Cactuz

CactuzMedlem sedan okt. 2001670 inlägg
#1

hur funkar d med cookies i php? nån som har någon sida?

RödalacketMedlem sedan feb. 20002 612 inlägg
CactuzMedlem sedan okt. 2001670 inlägg
#3

hur ska datumet skrivas om cookiesen ska expira 2050? :)

SPiNMedlem sedan mars 20007 896 inlägg
#4
setcookie( "blah", "bläh", strtotime( "1 January 2050" ) );
MatteMedlem sedan aug. 20002 975 inlägg
#5

En sanning med modifikation. Tiden är en UNIX timestamp och sträcker sig som längst till någonstans i januari 2038. Längre än till dess går inte att sätta tiden.

SPiNMedlem sedan mars 20007 896 inlägg
#6

Hehe, tiden har ett bäst-före-datum. :e

Då borde det här fungera ivf:

setcookie( "blah", "bläh", strtotime( "1 January 2038" ) );
CactuzMedlem sedan okt. 2001670 inlägg
#7

hmm.. fattar inte riktigt,,, är blah namnet på cookien o bläh d som sätts in i den?

SPiNMedlem sedan mars 20007 896 inlägg
#8

Jäpp.

CactuzMedlem sedan okt. 2001670 inlägg
#9

men kan inte en cookie ha flera variabler?

LAMPMedlem sedan mars 2002777 inlägg
#10

Hakar på här:

i VBScript kan man ge kakorna olika nycklar, ex:

response.cookies("Login") ("Username") = objRS("Username")

Kan man åstadkomma denna "nyckelfunktion" i PHP?

SPiNMedlem sedan mars 20007 896 inlägg
#11

Inte direkt, utan du får ta en omväg med arrayer och serialisering.

$myCookieValues[ 'Username' ] = "Användarnamn";
$myCookieValues[ 'Email' ] = "Email@Email.nu";

setcookie( "myCookie", serialize( $myCookieValues ) );

Och när du hämtar:

$myCookieValues = unserialize( $_COOKIE[ 'myCookie' ] );
ThACRoWMedlem sedan dec. 2001314 inlägg
#12

Det fungerar inte. Man måste använda stripslashes() på cookie:n före man använder unserialize(). Alltså:

$myCookieValues = unserialize( stripslashes( $_COOKIE[ 'myCookie' ] ) );
SPiNMedlem sedan mars 20007 896 inlägg
#13

Varför?

Nu när jag tänker efter, tror jag inte ens att man egentligen behöver serialisera/avserialisera arrayen. Det görs nog automagiskt.

CactuzMedlem sedan okt. 2001670 inlägg
#14

men hur hämtar man ett av värden i cookien då? o hur lägger man till en till

ThACRoWMedlem sedan dec. 2001314 inlägg
#15

SPiN skrev:

Varför?

Nu när jag tänker efter, tror jag inte ens att man egentligen behöver serialisera/avserialisera arrayen. Det görs nog automagiskt.

Jag vet inte exakt varför, men när jag provade din kod så fungerade det inte. Då läste jag bland PHP.net's kommentarer att man skulle använda stripslashes().

Automatiskt blir det inte, kanske i senare versioner av PHP (Jag använder fortfarande 4.1.1). Men hur skulle det fungera? Själva serialiseringen hade kunnat skötas automatiskt då man skickar in en array i en cookie, men hur ska den kunna avserialiseras automatiskt?

SPiNMedlem sedan mars 20007 896 inlägg
#16

Automatiskt blir det inte, kanske i senare versioner av PHP (Jag använder fortfarande 4.1.1). Men hur skulle det fungera? Själva serialiseringen hade kunnat skötas automatiskt då man skickar in en array i en cookie, men hur ska den kunna avserialiseras automatiskt?

Det har jag ingen aning om, men jag kom att tänka på att sessions fungerar så. Där ska man inte behöva serialisera eller avserialisera. Jag vet inte om det fungerar med cookies, men jag trodde det. Tydligen inte. :)

nkrantzMedlem sedan apr. 2002830 inlägg
#17

Tiden är en UNIX timestamp och sträcker sig som längst till någonstans i januari 2038.

Vad händer efter det då? Millenium bugg a la UNIX eller?

MatteMedlem sedan aug. 20002 975 inlägg
#18

Om jag inte minns fel så får du timestamp: -1

CactuzMedlem sedan okt. 2001670 inlägg
#19

men hur hämtar man ett av värden i cookien då? o hur lägger man till en till

nkrantzMedlem sedan apr. 2002830 inlägg
#20

cactuz skrev:

men hur hämtar man ett av värden i cookien då?

echo $_COOKIE['myCookie'];

cactuz skrev:

hur lägger man till en till

Du lägger till en cookie på samma sätt som du la den första (?) Om du vill ha fler än 1 cookie får du se till att ha olika namn på dem..

// Nippe

144 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)