Outils pour utilisateurs

Outils du site


bloc3:sessions

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc3:sessions [2023/03/29 13:35] – [Utiliser des variables de session] adminbloc3:sessions [2023/04/11 12:02] (Version actuelle) – [Utiliser les variables de session] admin
Ligne 23: Ligne 23:
 {{  :bloc3:session-sessions.jpg?500  |Sessions}} {{  :bloc3:session-sessions.jpg?500  |Sessions}}
  
-===== Mettre en œuvre des sessions en PHP =====+===== Mettre en œuvre les sessions en PHP =====
 ==== Démarrer une session ==== ==== Démarrer une session ====
 Il est possible de conserver des valeurs d'une page à l'autre en utilisant le mécanisme des sessions. Une session est un ensemble d'informations relatives à un utilisateur connecté sur le site. Ces informations sont enregistrées sur le serveur PHP et existent donc quelle que soit la page PHP courante. Toute page souhaitant accéder à ces informations de session doit commencer par : Il est possible de conserver des valeurs d'une page à l'autre en utilisant le mécanisme des sessions. Une session est un ensemble d'informations relatives à un utilisateur connecté sur le site. Ces informations sont enregistrées sur le serveur PHP et existent donc quelle que soit la page PHP courante. Toute page souhaitant accéder à ces informations de session doit commencer par :
-<code=php><?php+<code php><?php
    session_start();    session_start();
 ?></code> ?></code>
Ligne 32: Ligne 32:
  
 Chaque session possède un identifiant qui conserve la même valeur au fil des pages PHP. Cette valeur de type chaîne de caractères peut être utilisée de la manière suivante : Chaque session possède un identifiant qui conserve la même valeur au fil des pages PHP. Cette valeur de type chaîne de caractères peut être utilisée de la manière suivante :
-<code=php><?php+<code php><?php
    echo session_id();    echo session_id();
 ?></code> ?></code>
  
-==== Utiliser des variables de session ====+==== Utiliser les variables de session ==== 
 +=== Utilisation courante ===
 Lorsqu'une session est créée, il est possible de déclarer des variables de session et de leur donner une valeur. Voici l'exemple d'une page "**sessions2.php**" qui définit deux variables de session et comporte un lien vers une page "**sessions3.php**" : Lorsqu'une session est créée, il est possible de déclarer des variables de session et de leur donner une valeur. Voici l'exemple d'une page "**sessions2.php**" qui définit deux variables de session et comporte un lien vers une page "**sessions3.php**" :
-<code=php sessions2.php><?php+<code php sessions2.php><?php
    session_start();    session_start();
 ?> ?>
Ligne 55: Ligne 56:
 </code> </code>
 La page "**sessions3.php**" peut ensuite utiliser les deux variables définies : La page "**sessions3.php**" peut ensuite utiliser les deux variables définies :
-<code=php sessions3.php><?php+<code php sessions3.php><?php
    session_start();    session_start();
 ?> ?>
Ligne 68: Ligne 69:
 </code> </code>
 Ce sont pourtant 2 pages distinctes qui n’échangent formellement aucune donnée … Ce sont pourtant 2 pages distinctes qui n’échangent formellement aucune donnée …
-==== Etat d'une variable de session ====+=== Etat d'une variable de session === 
 +Comme pour toute variable en PHP, les fonctions **isset** et **empty** permettront de tester respectivement l'existence et la vacuité (le fait de contenir du vide) d'une variable.   
 +<WRAP group> 
 +<WRAP half column> 
 +<code php>if (!isset($_SESSION["nom"]) 
 +
 +    $_SESSION["nom"]='Dupont'; 
 +
 +</code> 
 + 
 +</WRAP> 
 + 
 +<WRAP half column> 
 +<code php> 
 +if (empty($_SESSION["format"]) 
 +
 +    $_SESSION["format"]='XML'; 
 +
 +</code> 
 +</WRAP> 
 +</WRAP> 
 +=== Suppression d'une variable de session === 
 +Pour supprimer une variable de la session courante : 
 +<code php> 
 +session_unset($_SESSION["nom"]); 
 +</code> 
 +Pour supprimer toutes les variables de session en une seule ligne, au choix :  
 +<WRAP group> 
 +<WRAP half column> 
 +<code php> 
 +session_unset(); 
 +</code> 
 +</WRAP> 
 + 
 +<WRAP half column> 
 +<code php> 
 +$_SESSION array() ; 
 +</code> 
 +</WRAP> 
 +</WRAP> 
 ==== Clôture d'une session ==== ==== Clôture d'une session ====
- +<code=php> 
 +session_destroy(); 
 +</code> 
 +Attention, **session_destroy** ne détruit pas les variables associées à la session (cf **session_unset**, plus haut), ni le cookie sous-jacent, s’il existe. Il reste donc des traces de la session, notamment sur le client, ce qui peut avoir des effets indésirables. 
bloc3/sessions.1680089746.txt.gz · Dernière modification : 2023/03/29 13:35 de admin