Home           
Les sessions en PHP
 

<< Les opérateurs en PHP

Nous allons voir ici comment utiliser les sessions.

Pourquoi les sessions

Les sessions permettent de stocker des données facilement entre le passage d'une page à une autre. C'est un moyen très rapide pour faire passer des données.

Utiliser les sessions n'est pas si difficile que ça.

Comment utiliser les sessions

Démarrer une session

Pour pouvoir faire quoi que ce soit sur les sessions, il faut qu'une session soit démarrée. Pour cela, il faut placer ce petit bout de code tout en haut de la page.
<?php

// démarre la session
session_start();
?>

Grâce à ce code, il est maintenant possible de travailler avec les sessions.

Enregistrement de variables de sessions

Les varaibles de sessions sont contenues dans le tableu global $_SESSION. Pour ajouter une variable de session, il suffit juste de faire $_SESSION['ma_variable']=ma_valeur. Et voilà.

Pour tester si une variable de session existe, il faut utiliser la fonction isset. Si la session n'est pas démarrée, les variables de sessions ne sont pas accessibles.

Fin d'une session

Pour détruire une session, il faut d'abord qu'elle soit démarrée. Pour détruire une session, voici le code qu'il faut utiliser:

<?php

// démarre la session
session_start();

session_destroy();
?>

Un exemple

<?php
// démarre la session
session_start();
?>

<HTML>
<HEAD>
<TITLE>
Titre de la page
</TITLE>
</HEAD>
<BODY>
<?php
if(!isset($_SESSION['name']) && !isset($_POST['name']))
{
   // si aucune donnée, affiche le formulaire
?>
   <form action="ma_page.php" method="post">
   <table>
   <tr>
   <td>Nom :</td><td><input type="text" name="name"> </td>
   </tr>
   <input type="submit" name="submit" value="Envoyer">
   </form>
<?php
}
else if (!isset($_SESSION['name']) && isset($_POST['name']))
{
   // Si la session n'existe pas mais que le formulaire a été envoyé
   // Vérifie si le formulaire dispose de toutes les informations nécéssaires
   // et crée une nouvelle session
   if (!empty($_POST['name'])) {
      if($_POST['name']=="mon_nom")
      {
         // le bon nom a été rentré
         $_SESSION['name'] = $_POST['name'];
         echo "Vous êtes connecté(e) en tant que ".$_SESSION['name'];
      }
   }
}
?>

</BODY>
</HTML>

Voila un exemple complet de connexion. Il est possible de remplacer le test du nom par la recherche dans une base de données.

 

<< Les opérateurs en PHP
  eXTReMe Tracker