bloc3:sessions
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| bloc3:sessions [2023/03/29 13:27] – [Mettre en œuvre des sessions en PHP] admin | bloc3:sessions [2023/04/11 12:02] (Version actuelle) – [Utiliser les variables de session] admin | ||
|---|---|---|---|
| Ligne 23: | Ligne 23: | ||
| {{ : | {{ : | ||
| - | ===== Mettre en œuvre | + | ===== Mettre en œuvre |
| ==== Démarrer une session ==== | ==== Démarrer une session ==== | ||
| - | ==== Utiliser | + | Il est possible de conserver des valeurs d'une page à l' |
| - | ==== Etat d'une variable de session ==== | + | <code php><? |
| + | | ||
| + | ?></ | ||
| + | Attention, ces lignes doivent impérativement être les premières du fichier. Une ligne vide avant, par exemple, provoquera une anomalie de fonctionnement ! | ||
| + | |||
| + | 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><? | ||
| + | echo session_id(); | ||
| + | ?></ | ||
| + | |||
| + | ==== Utiliser | ||
| + | === Utilisation courante === | ||
| + | Lorsqu' | ||
| + | <code php sessions2.php><? | ||
| + | | ||
| + | ?> | ||
| + | < | ||
| + | < | ||
| + | <?php | ||
| + | $_SESSION[" | ||
| + | $_SESSION[" | ||
| + | |||
| + | // session_register(" | ||
| + | // nommée prenom vide de contenu | ||
| + | ?> | ||
| + | <a href=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | La page " | ||
| + | <code php sessions3.php><? | ||
| + | | ||
| + | ?> | ||
| + | < | ||
| + | < | ||
| + | <?php | ||
| + | echo '< | ||
| + | echo '< | ||
| + | ?> | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | Ce sont pourtant 2 pages distinctes qui n’échangent formellement aucune donnée … | ||
| + | === Etat d'une variable de session === | ||
| + | Comme pour toute variable en PHP, les fonctions **isset** et **empty** permettront de tester respectivement l' | ||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | <code php>if (!isset($_SESSION[" | ||
| + | { | ||
| + | $_SESSION[" | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | <WRAP half column> | ||
| + | <code php> | ||
| + | if (empty($_SESSION[" | ||
| + | { | ||
| + | $_SESSION[" | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | === Suppression d'une variable de session === | ||
| + | Pour supprimer une variable de la session courante : | ||
| + | <code php> | ||
| + | session_unset($_SESSION[" | ||
| + | </ | ||
| + | Pour supprimer toutes les variables de session en une seule ligne, au choix : | ||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | <code php> | ||
| + | session_unset(); | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP half column> | ||
| + | <code php> | ||
| + | $_SESSION = array() ; | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| ==== Clôture d'une session ==== | ==== Clôture d'une session ==== | ||
| - | + | < | |
| + | session_destroy(); | ||
| + | </ | ||
| + | Attention, **session_destroy** ne détruit pas les variables associées à la session (cf **session_unset**, | ||
bloc3/sessions.1680089234.txt.gz · Dernière modification : 2023/03/29 13:27 de admin
