Heim >Backend-Entwicklung >PHP-Tutorial >php – Verwendung von Cookies

php – Verwendung von Cookies

伊谢尔伦
伊谢尔伦Original
2016-11-22 10:34:161272Durchsuche

PHP unterstützt transparent HTTP-Cookies. Ein Cookie ist ein Mechanismus, der Daten in einem Remote-Browser speichert, um Benutzer zu verfolgen und zu identifizieren. Cookies können mit den Funktionen setcookie() oder setrawcookie() gesetzt werden. Cookies sind Teil der HTTP-Header, daher muss die Funktion setcookie() aufgerufen werden, bevor andere Informationen an den Browser ausgegeben werden, ähnlich den Einschränkungen bei der Funktion header(). Mithilfe von Ausgabepufferungsfunktionen kann die Ausgabe eines Skripts verzögert werden, bis alle Cookies oder andere HTTP-Header wie erforderlich gesetzt wurden.

Beispiel #1 setcookie()-Verwendungsbeispiel

<?php
$value = &#39;something from somewhere&#39;;
//设置Cookie
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
//删除Cookie
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", "example.com", 1);
?>

Wenn „C“ in „variables_order“ enthalten ist, werden alle vom Client gesendeten Cookies automatisch in das automatische globale Array „$_COOKIE“ aufgenommen. Wenn Sie mehrere Werte für eine Cookie-Variable festlegen möchten, müssen Sie nach dem Cookie-Namen das Symbol [] hinzufügen.

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// after the page reloads, print them out
if (isset($_COOKIE[&#39;cookie&#39;])) {
    foreach ($_COOKIE[&#39;cookie&#39;] as $name => $value) {
        $name = htmlspecialchars($name);
        $value = htmlspecialchars($value);
        echo "$name : $value <br />\n";
    }
}
?>

Gemäß der Einstellung von register_globals können gewöhnliche PHP-Variablen aus Cookies erstellt werden. Es wird jedoch nicht empfohlen, sich auf diese Funktion zu verlassen, da diese Option aus Sicherheitsgründen normalerweise deaktiviert ist. Wenn in früheren Versionen von PHP die Konfigurationsoption track_vars aktiviert war (diese Option war seit PHP 4.0.3 immer aktiviert), wurde auch $HTTP_COOKIE_VARS festgelegt.

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn