Heim  >  Artikel  >  Backend-Entwicklung  >  So übergeben Sie die Sitzungs-ID in PHP

So übergeben Sie die Sitzungs-ID in PHP

伊谢尔伦
伊谢尔伦Original
2017-04-27 13:35:545331Durchsuche

So übergeben Sie die Sitzungs-ID in PHP

ü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 Benutzer

Cookies

blockieren kann Die zweite Methode besteht darin, sie über URL-Parameter zu übergeben und die Sitzungs-ID direkt in die URL einzubetten.

Empfehlungen zu verwandten Themen: PHP-Sitzung (einschließlich Bilder, Videos, Fälle)

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 der

Linux-Plattform kann der Cookie-Status jedoch automatisch überprüft werden. Wenn der Client ihn deaktiviert, hängt das System automatisch die Sitzungs-ID an die URL an und übermittelt sie. Diese Funktion ist auf Windows-Systemen nicht verfügbar.

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

in der Datei php.ini festgelegte Wert übergeben. Der Standardwert ist 0, was bedeutet, dass die Sitzungs-ID im Cookie des Clients verbleibt, bis der Browser geschlossen wird.

session.cookie_lifetimeDer vierte Parameter „/“ ist auch der Wert, der in der PHP-Konfigurationsdatei angegeben wird, und der Wert, der durch die Option s

in php.ini festgelegt wird. Der Standardwert ist „/“, was bedeutet, dass der im Cookie zu setzende Pfad in der gesamten Domain gültig ist.

ession.cookie_path

2. Übergeben Sie die Sitzungs-ID über die URL

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 &#39;<a href="test.php?&#39;.session_name().&#39;=&#39;.session_id().&#39;">演示</a>&#39;;
?>
Verwandte Lernempfehlungen:
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!

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