Heim  >  Artikel  >  Backend-Entwicklung  >  So setzen Sie Cookies im PHP-Header()

So setzen Sie Cookies im PHP-Header()

青灯夜游
青灯夜游Original
2021-02-25 17:48:383660Durchsuche

In PHP wird die Funktion header() verwendet, um den ursprünglichen HTTP-Header an den Client zu senden. Cookies können in der Form „header(“Set-Cookie:xxxxxxxxxxxxxxx“,false);“ gesetzt werden.

So setzen Sie Cookies im PHP-Header()

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP Version 7.1, DELL G3-Computer

Die Funktion header() sendet den ursprünglichen HTTP-Header an den Client.

Der Header gibt Cookies aus

Cookie-Funktion festlegen Wenn Sie möchten, dass sie wirksam wird, können Sie dies auch tun, indem Sie die Browserseite über den Header festlegen. Daher ist auch die Ausgabe über den Header möglich. Was also das Schreiben mehrerer äquivalenter Header-Operationen angeht, vergleichen und lernen wir:

header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效");

So setzen Sie Cookies im PHP-Header()

Weitere Programmierkenntnisse finden Sie unter: Programmiervideo! !

Hinweis:

Wir wissen, dass sowohl Setcookie als auch Header von PHP Cookies setzen können. Bei der Verwendung von Headern ist jedoch noch etwas zu beachten: Das ist die Reihenfolge zwischen Header und Setcookie oder sogar die Reihenfolge zwischen Header und Header.

header("Set-Cookie:") löscht: alle Header("Set-Cookie:")- und setcookie(setrawcookie)-Effekte, bevor diese Anweisung aufgerufen wird. Sehen Sie sich das Beispiel unten an, in dem vier Cookies gesetzt sind. Aber nur einer greift tatsächlich. Denn die anderen drei wurden vom letzten weggespült.

header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效");
setcookie("cookie_name3", "设置有效域名/https/httponly", time() + 3600*24, "/", $_SERVER['SERVER_NAME'], isset($_SERVER["HTTPS"]),true);
header("Set-Cookie:cookie_name3_cp=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly");

So setzen Sie Cookies im PHP-Header()

So setzen Sie Cookies im PHP-Header()

Lösung:

Fügen Sie einen zweiten Parameter zum Header hinzu, false. Das heißt:

header("Set-Cookie:xxxxxxxxxxxxxxxx",false);

Zum Beispiel:

header("Set-Cookie:cookie_name3_cp=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly;");
header("Set-Cookie:cookie_name3_cp2=" . urlencode("设置有效域名/https/httponly") . "; expires=" . gmstrftime("%a, %d-%b-%Y %H:%M:%S GMT", time() + 3600*24) . "; Max-Age=3600; path=/; domain= ".$_SERVER['SERVER_NAME']."; httponly;",FALSE);

In diesem Fall wird der Header, der den falschen Parameter verwendet, nicht mit dem Original in Konflikt geraten. Einzelheiten finden Sie in der PHP-Funktionsbeschreibung des Headers:

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Unsere falsche Einstellung ist der Parameter $replace, was bedeutet, dass der vorhandene Header desselben Typs nicht ersetzt wird. Beachten Sie, dass es sich um „den gleichen Typ“ handelt.

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmiervideos! !

Das obige ist der detaillierte Inhalt vonSo setzen Sie Cookies im PHP-Header(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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