PHP setrawcookie()-funktio

Määrittely ja käyttö

setrawcookie()-funktio ei URL-koodaa cookie-arvoa ja lähettää HTTP-cookien.

Cookie on muuttuja, jonka palvelin lähettää selaimelle. Cookie on yleensä pieni tekstitiedosto, jonka palvelin lisää käyttäjän tietokoneeseen. Kun tietokone pyytää sivua selaimella, se lähettää tämän cookien.

Cookie-nimi määritetään samannimiselle muuttujalle. Esimerkiksi, jos lähetettävä cookie-nimi on "name", luodaan automaattisesti muuttuja $user, joka sisältää cookie-arvon.

Cookie-arvon on asetettava ennen kaikkia muita lähtöjä.

Jos toimii, funktio palauttaa true, muuten false.

Syntaksi

setcookie(name,value,expire,path,domain,secure)
Parametrit Kuvaus
name Välttämätön. Määrittää cookie-nimen.
value Välttämätön. Määrittää cookie-arvon.
expire Valinnainen. Määrittää cookie:n voimassaolon.
path Valinnainen. Määrittää cookie-palvelimen polun.
domain Valinnainen. Määrittää cookie-alueen.
secure Valinnainen. Määrittää, lähetetäänkö cookie turvallisen HTTPS-yhteyden kautta.

Vinkit ja huomiot

Huomautus:Voi käyttää $HTTP_COOKIE_VARS["user"] tai $_COOKIE["user"] saadakseen "user"-nimisen cookie-arvon.

Huomautus:setrawcookie() ja setcookie() Melkein täysin sama, mutta erona on, että cookie-arvoa ei URL-koodata automaattisesti lähettäessä asiakasasemalle.

Esimerkki

Esimerkki 1

Aseta ja lähetä cookie:

<?php
$value = "my cookie value";
// Lähetä yksinkertainen cookie
setrawcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// Lähetä cookie, joka vanhenee 24 tunnin kuluttua
setrawcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...

Esimerkki 2

Etsiä eri tapoja cookie-arvojen hakemiseen:

<html>
<body>
<?php
// 输出个别的 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
// 把失效日期设置为一小时前
setrawcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

例子 4

创建一个数组 cookie:

<?php
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("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