webForumDet fria alternativet

cookies

PHP

20 svar · 459 visningar · startad av Cactuz

Medlem sedan okt. 2001670 inlägg
Frågan#1

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

Medlem sedan feb. 20002 612 inlägg
Medlem sedan okt. 2001670 inlägg
#3

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

Medlem sedan mars 20007 896 inlägg
#4
setcookie( "blah", "bläh", strtotime( "1 January 2050" ) );
Medlem 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.

Medlem 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" ) );
Medlem 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?

Medlem sedan mars 20007 896 inlägg
#8

Jäpp.

Medlem sedan okt. 2001670 inlägg
#9

men kan inte en cookie ha flera variabler?

Medlem 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?

Medlem 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' ] );
Medlem 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' ] ) );
Medlem 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.

Medlem 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

Medlem 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?

Medlem 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. :)

Medlem 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?

Medlem sedan aug. 20002 975 inlägg
#18

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

Medlem 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

Medlem 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

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)