PHP Cookie


Cookies werden häufig verwendet, um Benutzer zu identifizieren.


Was ist ein Cookie?

Cookies werden häufig verwendet, um Benutzer zu identifizieren. Ein Cookie ist eine kleine Datei, die der Server auf dem Computer des Benutzers hinterlässt. Immer wenn derselbe Computer eine Seite über einen Browser anfordert, sendet dieser Computer das Cookie. Mit PHP können Sie Cookies erstellen und den Wert von Cookies abrufen.


Wie erstellt man ein Cookie?

Die Funktion setcookie() wird verwendet, um ein Cookie zu setzen.

Hinweis:Die Funktion setcookie() muss vor dem <html>-Tag erscheinen.

Syntax

setcookie(name, value, expire, path, domain);

Beispiel 1

Im folgenden Beispiel erstellen wir ein Cookie namens "user" und weisen ihm den Wert "example" zu. Wir geben außerdem an, dass dieses Cookie nach einer Stunde abläuft:

<?php
setcookie("user", "example", time()+3600);
?>

<html>
.....

Hinweis:Beim Senden eines Cookies wird der Cookie-Wert automatisch URL-kodiert und beim Abrufen automatisch dekodiert. (Um die URL-Kodierung zu verhindern, verwenden Sie stattdessen setrawcookie().)

Beispiel 2

Sie können die Ablaufzeit des Cookies auch auf andere Weise festlegen. Dies kann einfacher sein, als Sekunden zu verwenden.

<?php
$expire=time()+60*60*24*30;
setcookie("user", "example", $expire);
?>

<html>
.....

Im obigen Beispiel wird die Ablaufzeit auf einen Monat gesetzt (60 Sekunden * 60 Minuten * 24 Stunden * 30 Tage)。


Wie ruft man den Cookie-Wert ab?

Die $_COOKIE-Variable von PHP wird verwendet, um den Cookie-Wert abzurufen.

Im folgenden Beispiel rufen wir den Wert des Cookies namens "user" ab und zeigen ihn auf der Seite an:

<?php
// 输出 cookie 值
echo $_COOKIE["user"];

// 查看所有 cookie
print_r($_COOKIE);
?>

Im folgenden Beispiel verwenden wir die Funktion isset(), um zu prüfen, ob ein Cookie gesetzt wurde:

<html>
<head>
<meta charset="utf-8">
<title>Example(example.com)</title>
</head>
<body>

<?php
if (isset($_COOKIE["user"]))
    echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
    echo "普通访客!<br>";
?>

</body>
</html>


Wie löscht man ein Cookie?

Beim Löschen eines Cookies sollten Sie das Ablaufdatum auf einen Zeitpunkt in der Vergangenheit setzen.

Beispiel für das Löschen:

<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
?>


Was ist, wenn der Browser keine Cookies unterstützt?

Wenn Ihre Anwendung mit Browsern umgehen muss, die Cookies nicht unterstützen, müssen Sie andere Methoden verwenden, um Informationen zwischen Seiten in Ihrer Anwendung zu übergeben. Eine Möglichkeit besteht darin, Daten über Formulare zu übergeben (Formulare und Benutzereingaben haben wir bereits in früheren Kapiteln dieses Tutorials behandelt).

Das folgende Formular übermittelt die Benutzereingabe an "welcome.php", wenn der Benutzer auf die Schaltfläche "Submit" klickt:

<html>
<head>
<meta charset="utf-8">
<title>Example(example.com)</title>
</head>
<body>

<form action="welcome.php" method="post">
名字: <input type="text" name="name">
年龄: <input type="text" name="age">
<input type="submit">
</form>

</body>
</html>

Rufen Sie die Werte in der Datei "welcome.php" ab, wie unten gezeigt:

<html>
<head>
<meta charset="utf-8">
<title>Example(example.com)</title>
</head>
<body>

欢迎 <?php echo $_POST["name"]; ?>.<br>
你 <?php echo $_POST["age"]; ?> 岁了。

</body>
</html>
Andere Erweiterungen