übergibt normalerweise die eindeutige Sitzungs-ID, die zwischen den einzelnen Seiten übergeben wird, und extrahiert die Sitzungs-Variable um einem Benutzer zu folgen. Es gibt zwei gängige Übertragungsmethoden für Sitzungs-IDs.
Die erste Methode besteht darin, die Sitzungs-ID basierend auf Cookies zu übergeben. Diese Methode ist optimierter, kann jedoch nicht häufig verwendet werden, da der BenutzerCookies
blockieren kann Die zweite Methode besteht darin, sie über URL-Parameter zu übergeben und die Sitzungs-ID direkt in die URL einzubetten.Bei der Implementierung von Session Normalerweise Es wird ein Cookie-basiertes Verfahren verwendet und die vom Client gespeicherte Session-ID ist ein Cookie. Wenn der Client Cookies deaktiviert, kann die Sitzungs-ID nicht im Cookie gespeichert und nicht zwischen Seiten weitergegeben werden. Zu diesem Zeitpunkt wird die Sitzung ungültig. Auf derEmpfehlungen zu verwandten Themen: PHP-Sitzung (einschließlich Bilder, Videos, Fälle)
1. Übergeben Sie die Sitzungs-ID über Cookie
Wenn der Client Cookies nicht verbietet, verwenden Sie die Funktion session_start()im PHP-Skript Nach der Initialisierung sendet der Server automatisch einen HTTP-Header, um die Sitzungs-ID im Cookie des Client-Computers zu speichern. Die Einstellungsmethode ähnelt der folgenden: Der Prozess des virtuellen Festlegens der Sitzungs-ID für das Cookie
Der erste Parameter ruft die Funktion session_name() auf und gibt den Namen des zurück aktuelle Sitzung als Cookie-ID-Name. Sie können den Namen der aktuellen Sitzung ändern, indem Sie beim Aufruf der Funktion session_name() Parameter angeben.setcookie(session_name(), session_id(), 0, '/')
Der zweite Parameter ruft die Funktion session_id() auf und gibt die aktuelle Sitzungs-ID als Wert des Cookies zurück. Sie können die aktuelle Sitzungs-ID auch festlegen, indem Sie beim Aufruf der Funktion
Parameter angeben. session_id()
Der dritte Parameterwert ist 0, es wird der durch die Option
session.cookie_lifetime
Der vierte Parameter „/“ ist auch der Wert, der in der PHP-Konfigurationsdatei angegeben wird, und der Wert, der durch die Option s
ession.cookie_path
Wenn der Client-Browser Cookies unterstützt, speichern Sie die Sitzungs-ID als Cookie im Browser. Wenn der Benutzer jedoch die Verwendung von Cookies deaktiviert, ist die Sitzungs-ID als Cookie nicht im Browser vorhanden, sodass die Cookie-Informationen nicht in der Client-Anfrage enthalten sind. Wenn die Sitzungs-ID als Cookie beim Aufruf der Funktion session_start() nicht vom Client-Browser abgerufen werden kann, wird eine neue Sitzungs-ID erstellt und der Benutzerstatus kann nicht nachverfolgt werden. Daher erstellt die Funktion session_start() jedes Mal, wenn der Benutzer ein PHP-Skript anfordert, das die Sitzung unterstützt, beim Öffnen der Sitzung eine neue Sitzung, wodurch die Möglichkeit verloren geht, den Status des Benutzers zu verfolgen.
bietet einen weiteren Mechanismus zur Sitzungsverfolgung in PHP. Wenn der Client-Browser keine Cookies unterstützt, kann PHP die Client-Anfrage-URL umschreiben und der URL-Mitte eine
Sitzungs-ID hinzufügen. Sie können der URL jedes Hyperlinks manuell eine Sitzungs-ID hinzufügen. Diese Methode erfordert viel Arbeit und wird im Allgemeinen nicht empfohlen. Der Code des Beispiels lautet wie folgt:
<?php //开启 session session_start(); // 在 URL 后面附加参数,变量名为session_name()获取的名称,值为session_id()获取 echo '<a href="test.php?'.session_name().'='.session_id().'">演示</a>'; ?>
PHP-Programmierung vom Einstieg bis zur Kompetenz
Das obige ist der detaillierte Inhalt vonSo übergeben Sie die Sitzungs-ID in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!