PHP setcookie()-funktionen
Definition och användning
setcookie()-funktionen skickar en HTTP-cookie till klienten.
Cookie är en variabel som skickas från servern till webbläsaren. Cookie är vanligtvis en liten textfil som servern infogar i användarens dator. Varje gång datorn genom webbläsaren begär en sida, skickas denna cookie.
Namnet på cookie specificeras som en variabel med samma namn. Till exempel, om den skickade cookie:n heter "name", skapas automatiskt en variabel $user som innehåller värdet för cookie:n.
Cookie måste tilldelas innan någon annan utdata skickas.
Om funktionen lyckas returnerar den true, annars returnerar den false.
Syntaks
setcookie(name,value,expire,path,domain,secure)
Parametrar | Beskrivning |
---|---|
name | Obligatorisk. Ange namnet på cookie. |
value | Obligatorisk. Ange värdet för cookie. |
expire | Valfritt. Ange cookie:s giltighetstid. |
path | Valfritt. Ange serverns sökväg för cookie. |
domain | Valfritt. Ange domänen för cookie. |
secure | Valfritt. Ange om cookie ska överföras via en säker HTTPS-anslutning. |
Tips och kommentarer
Kommentar:Du kan komma åt värdet för en cookie med namn "user" genom att använda $HTTP_COOKIE_VARS["user"] eller $_COOKIE["user"].
Kommentar:När du skickar en cookie URL-kodas värdet automatiskt. Det URL-dekoder vid mottagning. Om du inte behöver detta kan du använda setrawcookie() Ersätt.
Exempel
Exempel 1
Ställ in och skicka cookie:
<?php $value = "my cookie value"; // Skicka en enkel cookie setcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // Skicka en cookie som expirerar efter 24 timmar setcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
Exempel 2
Sök olika sätt att hämta cookie-värden:
<html> <body> <?php // Skriver ut enstaka cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // 输出所有 cookie print_r($_COOKIE); ?> </body> </html>
输出:
my cookie value my cookie value Array ([TestCookie] => my cookie value)
例子 3
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
<?php // 把失效日期设置为一小时前 setcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
例子 4
创建一个数组 cookie:
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); // 输出 cookie (在重载页面后) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; } } ?> <html> <body> ... ...
输出:
three : cookiethree two : cookietwo one : cookieone