Die Verwendung von PHP-Sitzungen ist eigentlich sehr einfach. Es kann die vom Benutzer in einer Sitzung übermittelten Daten in Form einer globalen Variablen speichern und eine eindeutige Sitzungs-ID generieren. Dies dient dazu, Verwirrung zu vermeiden und denselben Browser in der Sitzung zu verwenden. Die gleiche Site kann nur eine session_id haben. Schauen wir uns an, wie die Sitzung verwendet wird.
Wie Sie die Sitzung verwenden, alles, was mit der Sitzung zusammenhängt, müssen Sie vorher die Funktion session_start() aufrufen.
Das Zuweisen eines Werts zur Sitzung ist sehr einfach, wie zum Beispiel:
<?php Session_start(); $Name = "这是一个Session例子"; Session_Register("Name");//注意,不要写成:Session_Register("$Name"); Echo $_SESSION["Name"]; //之后$_SESSION["Name"]为"这是一个Session例子" ?>
Nach php4.2 , können Sie der Sitzung einen Wert zuweisen. Direkte Zuweisung:
<?PHP Session_Start(); $_SESSION["name"]="value"; ?>
Brechen Sie die Sitzung wie folgt ab:
<?php session_start(); session_unset(); session_destroy(); ?>
Sitzung lesen
Die in PHP integrierte Variable $_SESSION kann Greifen Sie einfach auf die festgelegte Sitzungsvariable zu.
<?php session_start(); echo "登记的用户名为:".$_SESSION["username"]; //输出 登记的用户名为:nostop ?>Überprüfen Sie, ob die Variable als Sitzungsvariable session_is_registered registriert ist.
Diese Funktion kann prüfen, ob die angegebene Variable in der aktuellen Sitzung registriert wurde . Der Parametername ist der Name der zu prüfenden Variablen. Bei Erfolg wird der logische Wert true zurückgegeben.
<?php session_start(); if(!session_is_registered("gender")){ //判断当前会话变量是否注册 session_register("gender"); //注册变量 } $gender="女"; echo $_SESSION['gender']; //女 ?>
Zugriff auf den aktuellen Sitzungsnamen session_name
Syntax: boolean session_name(string [name]);
Diese Funktion kann den Namen der aktuellen Sitzung abrufen oder zurücksetzen. Wenn kein Parametername vorhanden ist, bedeutet dies, den aktuellen Sitzungsnamen abzurufen, und das Hinzufügen des Parameters bedeutet, den Sitzungsnamen auf den Parameternamen festzulegen.
<?php $sessionName = session_name(); //取得当前 Session 名,默认为 PHPSESSID $sessionID = $_GET[$sessionName]; //取得 Session ID session_id($sessionID); //使用 session_id() 设置获得的 Session ID ?>
Zugriff auf die aktuelle Sitzungsidentifikationsnummer session_id
Syntax: boolean session_id(string [id]);
Diese Funktion kann die Identifikationsnummer der aktuell gespeicherten Sitzung abrufen oder zurücksetzen. Wenn keine Parameter-ID vorhanden ist, bedeutet dies, dass nur die Identifikationsnummer der aktuellen Sitzung abgerufen wird. Wenn der Parameter hinzugefügt wird, bedeutet dies, dass die Identifikationsnummer der Sitzung auf die neu angegebene ID gesetzt wird.
Legen Sie die Lebensdauer der Sitzung fest
<?php session_start // 保存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() + $lifeTime, "/"); ?>
session_set_cookie_params: Legen Sie die Lebensdauer der Sitzung fest. Diese Funktion muss aufgerufen werden, bevor die Funktion session_start() aufgerufen wird.
Wenn der Client IE 6.0 verwendet, wird die Funktion session_set_cookie_params(); beim Setzen von Cookies einige Probleme haben, daher rufen wir die Funktion setcookie immer noch manuell auf, um Cookies zu erstellen.
<?php // 保存一天 $lifeTime = 24 * 3600; session_set_cookie_params($lifeTime); session_start(); $_session["admin"] = true; ?>
Legen Sie den Speicherpfad der Sitzungsdatei fest
session_save_path(): muss aufgerufen werden, bevor die Funktion session_start() aufgerufen wird.
<?php // 设置一个存放目录 $savePath = "./session_save_dir/"; // 保存一天 $lifeTime = 24 * 3600; session_save_path($savePath); session_set_cookie_params($lifeTime); session_start(); $_session["admin"] = true; ?> <?php session_start(); //启动Session $username='nostop'; session_register('username'); //注册一个名为username变量 echo '登记的用户:'.$_SESSION['username']; //登记的用户:nostop 读取Session变量 $_SESSION['age']=23; //声明一个名为age的变量,并赋值 echo '年龄:'.$_SESSION['age']; //年龄:23 session_unregister('username'); //注销Session变量 echo $_SESSION['username']; //空 echo $_SESSION['age'];//23 unset($_SESSION['age']); //注销Session变量 echo '登记的用户:'.$_SESSION['username']; //空 echo '年龄:'.$_SESSION['age']; //空 ?>
Hinweis:
1: Es kann keine Ausgabe erfolgen, bevor Session_Start() aufgerufen wird. Folgendes ist beispielsweise falsch.
Zeile 1
Zeile 2< ;?PHP
3 Zeilen Session_Start();//In der ersten Zeile wurde bereits ausgegeben
4 Zeilen....
5 Zeilen?>
Prompt 1:
Jedes Mal, wenn „.....Header bereits gesendet…“ angezeigt werden, bedeutet dies, dass Informationen vor Session_Start() an den Browser ausgegeben werden.
Entfernen Sie die Ausgabe und es wird normal sein (Dieser Fehler tritt auch in COOKIE auf, und der Grund ist derselbe)
Tipp 2:
Wenn Ihr Session_Start() in einer Schleifenanweisung platziert ist und es schwierig ist zu bestimmen, wohin die Ausgabe erfolgen soll Zur Information können Sie die folgende Methode verwenden:
1 Zeilee07ad5834d74be74bbf8fcbf03c8aba1
.....Hier ist Ihr Programm...
2: Was ist der Fehler?
Warnung: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) fehlgeschlagen:....
Weil Sie den Speicherpfad der Sitzungsdatei nicht angegeben haben.
Lösung:
(1) Erstellen Sie den Ordner tmp im Laufwerk C
(2) Öffnen Sie php.ini, suchen Sie session.save_path und ändern Sie es in session.save_path= " c: /tmp"
Weitere verwandte Artikel, die Ihnen die Verwendung von PHP-Sitzungen beibringen, finden Sie auf der chinesischen PHP-Website!