Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in Anwendungscodebeispiele einer PHP-Sitzung

Detaillierte Einführung in Anwendungscodebeispiele einer PHP-Sitzung

黄舟
黄舟Original
2017-03-22 09:42:281516Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur detaillierten Anwendung der PHP-Sitzung vorgestellt. Freunde, die sie benötigen, können sich auf

Erweiterte PHP-Sitzungsanwendung

Sitzung ist in der Webtechnologie sehr wichtig. Da es sich bei der Webseite um ein zustandsloses Verbindungsprogramm handelt, kann der Browserstatus des Benutzers nicht bekannt sein. Während der Sitzung können die relevanten Informationen des Benutzers zur Bestätigung aufgezeichnet werden, wenn der Benutzer in dieser Funktion erneut eine Anfrage an den Webserver sendet.

Zum Beispiel: Wenn ein Benutzer eine E-Commerce-Website durchsucht und keine Sitzung stattfindet, muss der Benutzer bei jedem Durchsuchen das Kontokennwort eingeben.

1. Temporäre Sitzungsdateien

Wenn auf dem Server alle Benutzersitzungen im temporären Verzeichnis gespeichert werden, verringert sich die Sicherheit der Effizienz des Servers. Das Öffnen einer auf dem Server gespeicherten Site wird sehr langsam sein.

Verwenden Sie die

PHP-Funktion session_save_path(), um temporäre Sitzungsdateien zu speichern, was die Probleme einer verringerten Servereffizienz und eines langsamen Öffnens der Website, die durch die Speicherung temporärer Dateien verursacht werden, lindern kann.

Der Beispielcode lautet wie folgt:

<?php
$path ="./tmp/";    //设置session存储的路径
session_save_path($path);
session_start();
$_SESSION[&#39;userName&#39;]=true;
?>
Hinweis


session_save_path() muss vor session_start() ausgeführt werden.

2, Sitzungs-Cache

Beim Sitzungs-Caching wird der Inhalt der Webseite vorübergehend im Ordner „Temporäre Internetdateien“ des IE-Clients gespeichert , und kann die Cache-Zeit einstellen.


Der Sitzungscache verwendet die Funktion session_cache_limiter(), deren Syntax wie folgt lautet:

string session_cache_limiter([string cache_limiter]);
Der Parameter „cache_limiter“ ist öffentlich oder privat. Die Kollegensitzung findet nicht auf der Serverseite, sondern auf der Clientseite statt. Wird auf dem Server nicht angezeigt.


Um die Cache-Zeit festzulegen, verwenden Sie die Funktion session_cache_expire(). Die Syntax lautet wie folgt:

int session_cache_expire([int new_cahche_expire]);
Der Parameter new_cahche_expire ist die Anzahl der Sitzungs-Cache-Zeiten in Minuten.


Hinweis:

Diese beiden Sitzungsfunktionen müssen vor der Funktion session_start() ausgeführt werden.

Beispiel für eine Sitzungs-Cache-Seite Der Code lautet wie folgt:

<?php

session_cache_limiter("private");
$cache_limit =session_cache_limiter();   //开启客户端缓存
echo "缓存限制为:".$cache_limit."\n";
session_cache_expire(30);
$cache_expire = session_cache_expire();  //设定客户端缓存时间
echo "客户端缓存时间为:".$cache_expire."分钟\n";
session_start();

?>
Die laufenden Ergebnisse lauten wie folgt:


Detaillierte Einführung in Anwendungscodebeispiele einer PHP-Sitzung

3, Sitzungsdatenbankspeicher

Die Speicherung der Sitzungsdatenbank in PHP wird hauptsächlich über die Funktion session_set_save_handler() implementiert. Die spezifische Syntax lautet wie folgt:

bool session_set_save_handler(string open, string close, string read, string write, string destroy, string gc);
Die sechs Parameter (Funktionen) sind unten in Pakete unterteilt. Nach dem Erlernen der
Objektorientierten

ProgrammierungDetaillierte Einführung in Anwendungscodebeispiele einer PHP-Sitzung wird jeder ein klareres Verständnis haben.

(1) Kapseln Sie die Funktion session_open(), der Code lautet wie folgt: (2) Kapseln Sie die Funktion session_close(), der Code lautet wie folgt:

(3) Kapseln Sie die Funktion session_read(), legen Sie den UNIX-

-Zeitstempel

der aktuellen Zeit in der Funktion fest und durchsuchen Sie die Visitenkarte und den Inhalt der Sitzung basierend auf $key. Der Code lautet wie folgt:
function _session_open($save_path,$session_name){
global $handle;
$handle =mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;root&#39;)or die(&#39;数据库连接失败!&#39;);
mysql_select_db(&#39;db_database11&#39;,$handle)or die(&#39;数据库不存在&#39;);
return(true);
}

(4) Kapseln Sie die Funktion session_write(). Die Funktion legt die Ablaufzeit der Sitzung fest und findet den Namen und Inhalt der Sitzung, wenn das Abfrageergebnis leer ist . Fügen Sie dann die Sitzung auf der Seite entsprechend Sitzungs-ID, Sitzungsname, Ablaufzeit,
function _session_close(){
global $handle;
mysql_close($handle);
return(true);
}
in die Datendatenbank

ein. Wenn das Abfrageergebnis nicht leer ist, ändern Sie die Sitzungsspeicherinformationen in der Datenbank basierend auf $key. Der Code lautet wie folgt:

(5) Kapseln Sie session_destroy() und löschen Sie Sessin in der Datenbank gemäß $key. Der Code lautet wie folgt:
function _session_read($key){
golbal $handle;     //全局变量$handle 连接数据库
$time =time();     //设定当前时间
$sql ="select session_data from tb_session where session_key = &#39;$key&#39; and session_time>&#39;$time&#39;";
$result =mysql_query($ssql,$handle);
$row =mysql_fetch_array($result);
if($row){
return($row[&#39;session_data&#39;]);
}else{
return(false);
}
}

(6 ) Kapseln Sie session_gc() und löschen Sie es gemäß $key. Löschen Sie die abgelaufene Sitzung basierend auf der Sitzungsablaufzeit. Der Beispielcode lautet wie folgt:

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Anwendungscodebeispiele einer PHP-Sitzung. 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