Maison  >  Article  >  développement back-end  >  Explication détaillée des exemples de fonctions de traitement de session PHP

Explication détaillée des exemples de fonctions de traitement de session PHP

墨辰丷
墨辰丷original
2018-06-02 09:04:581324parcourir

Cet article présente principalement les informations pertinentes sur la fonction de traitement de session PHP. Les amis qui en ont besoin peuvent s'y référer

Variables de session PHP
<.>

Lorsque vous exécutez une application, vous l'ouvrez, apportez des modifications, puis la fermez. Cela ressemble beaucoup à une séance. L'ordinateur sait qui vous êtes. Il sait quand vous démarrez l'application et quand il la termine. Mais sur Internet, il y a un problème : le serveur ne sait pas qui vous êtes ni ce que vous faites, et c'est parce que les adresses HTTP ne conservent pas leur état.


Les sessions PHP résolvent ce problème en stockant les informations utilisateur sur le serveur pour une utilisation ultérieure (telles que le nom d'utilisateur, les articles achetés, etc.). Cependant, les informations de session sont temporaires et seront supprimées une fois que l'utilisateur quittera le site. Si vous devez stocker des informations de manière permanente, vous pouvez stocker les données dans une base de données.


La session fonctionne en créant un identifiant unique (UID) pour chaque visiteur et en stockant des variables basées sur cet UID. L'UID est stocké dans un cookie ou transmis via l'URL.


1. Démarrez une session

Avant d'enregistrer des informations dans la session, vous devez d'abord ouvrir la session. PHP fournit la fonction session_start() pour démarrer ou continuer une session. Définition :


1 bool session_start( void )


est appelé comme suit :


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

Remarque :


(1) La fonction session_start() doit être située avant la balise 100db36a723c770d327fc0aef2ce13b1, c'est-à-dire que la fonction doit être appelée avant toute sortie. effectué sans y prêter attention lors de l'écriture d'un programme. Si vous entrez un espace ou appuyez sur Entrée, une erreur sera signalée. Une attention particulière doit y être accordée. (J'ai été trompé)


(2) Que la session soit créée avec succès ou non, la fonction session_start() retournera TRUE, donc toute gestion d'exception ne fonctionnera pas.


(3) Vous pouvez également activer l'instruction de configuration session.auto_start pour ne pas avoir à exécuter cette fonction, mais dans ce cas, une session sera démarrée ou continuée lorsque chaque page php est exécuté.


2. Stocker ou lire la session

La bonne façon de stocker et de lire les variables de session est d'utiliser la variable S ESSION de PHP. Variable SÉANCE. _SESSION est un paramètre global fourni par PHP et est spécialement utilisé pour stocker et lire des sessions. (Notez que les noms de clés des tableaux associatifs sont cohérents avec les règles de dénomination des variables ordinaires)


Lors du stockage d'une session, vous pouvez l'attribuer directement.


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


Ce qui précède définit un élément de session avec le nom de clé "saison" et sa valeur est "automne". . Lors de la lecture, c'est comme appeler un élément de tableau normal.


Les deux morceaux de code suivants montrent comment stocker et lire un élément de session.


Voici le fichier 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>

Voici le fichier 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;;
 }
 ?>

Dans session1.php, utilisez d'abord session_start() pour créer une session, puis utilisez l'affectation de tableau pour stocker les données saisonnières soumises, et enfin utilisez l'en-tête () La fonction saute directement au début. Dans le fichier session2.php, la fonction session_start() est également nécessaire pour continuer une session et utiliser le tableau de session pour appeler les informations de session.


3. Détruisez la session

Lorsque la session n'est plus utilisée, vous devez la détruire manuellement, bien que PHP ait une destruction automatique de la fonction de session, mais cela rendra le programme moins efficace. Vous pouvez utiliser la fonction unset() ou la fonction session_destroy().


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

Ou :


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

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

PHP implémente une fonction pour générer de manière aléatoire les adresses IP nationales

php+ ajax Méthodes pour réaliser la fonction de vérification en temps réel de l'enregistrement

PHP+Ajax pour réaliser la fonction de vérification en temps réel du code de vérification

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn