Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Beispiele für PHP-Sitzungsverarbeitungsfunktionen

Detaillierte Erläuterung der Beispiele für PHP-Sitzungsverarbeitungsfunktionen

墨辰丷
墨辰丷Original
2018-06-02 09:04:581318Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zu PHP-Sitzungsverarbeitungsfunktionen vorgestellt. Freunde, die diese benötigen, können sich auf

PHP-Sitzungsvariablen

beziehen

Wenn Sie eine Anwendung ausführen, öffnen Sie sie, nehmen Änderungen vor und schließen sie dann. Es ähnelt stark einer Sitzung. Der Computer weiß, wer Sie sind. Es weiß, wann Sie die Anwendung starten und wann sie beendet wird. Aber im Internet gibt es ein Problem: Der Server weiß nicht, wer Sie sind und was Sie tun, und das liegt daran, dass HTTP-Adressen ihren Status nicht beibehalten.

PHP-Sitzung löst dieses Problem, indem Benutzerinformationen für die spätere Verwendung auf dem Server gespeichert werden (z. B. Benutzername, gekaufte Artikel usw.). Sitzungsinformationen sind jedoch temporär und werden gelöscht, nachdem der Benutzer die Website verlässt. Wenn Sie Informationen dauerhaft speichern müssen, können Sie die Daten in einer Datenbank speichern.

Sitzung funktioniert, indem für jeden Besucher eine eindeutige ID (UID) erstellt und auf dieser UID basierende Variablen gespeichert werden. Die UID wird in einem Cookie gespeichert oder über die URL weitergegeben.

1. Starten Sie eine Sitzung

Bevor Sie Informationen in der Sitzung speichern, müssen Sie zunächst die Sitzung öffnen. PHP bietet die Funktion session_start() zum Starten oder Fortsetzen einer Sitzung. Definition:

1 bool session_start( void )

wird wie folgt aufgerufen:

<?php session_start();?>
 <html>
 <body></body>
 </html>

Hinweis:

(1) Die Funktion session_start() muss sich vor dem Tag 100db36a723c770d327fc0aef2ce13b1 befinden, d. h. die Funktion muss vor jeder Ausgabe aufgerufen werden Zu viele Eingaben beim Schreiben eines Programms führen zu einem Fehler. Darauf sollte besonderes Augenmerk gelegt werden. (Ich wurde ausgetrickst)

(2) Unabhängig davon, ob die Sitzung erfolgreich erstellt wurde oder nicht, gibt die Funktion session_start() TRUE zurück, sodass die Ausnahmebehandlung nicht funktioniert.

(3) Sie können auch die Konfigurationsanweisung session.auto_start aktivieren, sodass Sie diese Funktion nicht ausführen müssen. In diesem Fall wird jedoch eine Sitzung gestartet oder fortgesetzt, wenn jede PHP-Seite geöffnet ist hingerichtet.

2. Sitzung speichern oder lesen

Die richtige Art, Sitzungsvariablen zu speichern und zu lesen, ist die Verwendung der S ESSION-Variablen von PHP. SESSION-Variable. _SESSION ist ein von PHP bereitgestellter globaler Parameter, der speziell zum Speichern und Lesen von Sitzungen verwendet wird. (Beachten Sie, dass die Schlüsselnamen assoziativer Arrays mit den Benennungsregeln gewöhnlicher Variablen übereinstimmen.)

Beim Speichern einer Sitzung können Sie diese direkt zuweisen.

$_SESSION['season'] = 'Autumn';

Das Obige legt ein Sitzungselement mit dem Schlüsselnamen „Season“ und seinem Wert „Herbst“ fest. . Beim Lesen verhält es sich wie beim Aufrufen eines normalen Array-Elements.

Die folgenden zwei Codeteile zeigen, wie ein Sitzungselement gespeichert und gelesen wird.

Dies ist die Datei session1.php:

 <?php
 /**
  * Created by PhpStorm.
  * User: yuxiu
  * Date: //
  * Time: :
  */
 if(isset($_POST[&#39;submit&#39;])){
   session_start();                //开始建立一个会话
   $_SESSION[&#39;season&#39;] = $_POST[&#39;season&#39;];    //存储会话数据
   header("Location: session.php");      //应特别注意header()里的格式问题
 }
 ?>
 <b>存储会话</b>
 <hr/>
 选择需要设置的数据:
 <form name="form" method="post" action="" id="form" >
   <select name="season" id="season_select" >
     <option value="春天">春天</option>
     <option value="夏天">夏天</option>
     <option value="秋天">秋天</option>
     <option value="冬天">冬天</option>
   </select>
   <br/>
   <br/>
   <br/>
  <input type="submit" name="submit" value="submit"/>
 </form>

Dies ist die Datei session2.php:

 <?php
 /**
  * Created by PhpStorm.
  * User: yuxiu
  * Date: //
  * Time: :
  */
 session_start();  //建立或者继续一个会话
 $season = $_SESSION[&#39;season&#39;];    //读取会话数据
 echo "<b>读取会话</b><br/><br/>";
 switch ($season) {
   case &#39;春天&#39;;
     echo &#39;现在是绿意盎然的春天!&#39;;
     break;
   case &#39;夏天&#39;;
     echo &#39;现在是热情四溢的夏天!&#39;;
     break;
   case &#39;秋天&#39;;
     echo &#39;现在是丰收果实的秋天!&#39;;
     break;
   case &#39;冬天&#39;;
     echo &#39;现在是白雪皑皑的冬天!&#39;;
     break;
   default ;
     echo &#39;对不起,会话中没有数据 或者 不存在该对话 !&#39;;
 }
 ?>

Verwenden Sie in session1.php zuerst session_start(), um eine Sitzung zu erstellen, verwenden Sie dann die Array-Zuweisung, um die übermittelten saisonalen Daten zu speichern, und verwenden Sie schließlich die Funktion header() um direkt zum Anfang zu springen. In der Datei session2.php wird außerdem die Funktion session_start() benötigt, um eine Sitzung fortzusetzen und das Sitzungsarray zum Aufrufen von Sitzungsinformationen zu verwenden.

3. Zerstören Sie die Sitzung

Wenn die Sitzung nicht mehr verwendet wird, müssen Sie sie manuell zerstören, obwohl PHP über eine automatische Zerstörung verfügt die Sitzungsfunktion, aber dadurch wird das Programm weniger effizient. Sie können die Funktion unset() oder session_destroy() verwenden.

<?php
 unset($_SESSION[&#39;season&#39;]);
?>

Oder:

<?php
 session_destroy();   //注意,使用这个函数将重置session数组,即失去所有的已经储存的session数据
?>

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

PHP implementiert eine Funktion zur zufälligen Ausgabe inländischer IPs

php+ Ajax-Methoden zur Realisierung der Echtzeit-Verifizierungsfunktion der Registrierung

PHP+Ajax zur Realisierung der Echtzeit-Verifizierungsfunktion des Verifizierungscodes

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Beispiele für PHP-Sitzungsverarbeitungsfunktionen. 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