Découvez les bases de PHP dans mon support de formation dédié à ce puissant langage orienté web.
Dans ce tutoriel, nous abordons les SESSIONS en PHP.
Les sessions en PHP permettent de sauvegarder des variables de page en page pendant une certaine durée prédéfinie par PHP (et modifiable bien entendu).
Chaque utilisateur ayant besoin des sessions se voit attribuer un identifiant unique appelé ID de session. Cet identifiant est stocké sur le poste de l'internaute sous forme d'un cookie ou transite via l'URL si l'option session.use_trans_sid est à 1 (ou On) dans le fichier php.ini.
Utiliser la méthode du cookie est plus que recommandée : un identifiant de session dans l'URL empêche de retenir l'adresse d'une page simplement par le visiteur néophyte, cela rallonge donc l'adresse de votre page. Cela nuit également au référencement de votre page. En effet, l'identifiant étant unique, lorsque le robot du moteur de recherche scanne votre site, il ne retombera jamais sur la même URL plusieurs fois de suite.
session_start()
$_SESSION['nom']="Valeur"
<?php
session_start(); // On démarre la session AVANT toute chose,
// On crée dans cette exemple 3 variables de session :
$_SESSION['prenom'] = 'Jean';
$_SESSION['nom'] = 'Dupont';
$_SESSION['age'] = 24;
// Maintenant on peut taper du code HTML
?>
<?php echo $_SESSION['prenom']; ?>
!</p>>Dés que l'on ferme le navigateur la session est détruite.
Sauf à configurer le fichier php.ini avec session.lifetime qui fixe la durée de vie, en secondes, du cookie envoyé au client. La valeur 0 signifie "jusqu'à ce que le client soit fermé". Par défaut à 0.
Donc si on le laisse à zéro la session dure jusqu'à la fermeture du navigateur, pour laisser les données durant 30 minutes, il faut remplacer 0 par 1800 (= 30 minutes * 60 secondes dans une minute).
session.lifetime = 0
Lit et/ou modifie l'identifiant courant de session
echo session_id()
La commande session_unregister() supprime une variable dans la session courante.
Elle retourne TRUE si success, FALSE sinon.
Elle a pour syntaxe :
boolean session_unregister (string name)
Il est aussi possible de purger toutes les variables de la session avec
session_unset()
Si vous utilisez le tableau superglobale $_SESSION, il suffit alors d'utiliser unset() :
unset($_SESSION["mavariable"])
La commande session_write_close() écrit les valeurs des variables de session sur le serveur et ferme la session.
session_write_close()
Enfin, si vous voulez détruire la session du visiteur, vous pouvez faire un lien "Déconnexion" qui améne vers une page qui fait appel à la fonction session_destroy()
La commande session_destroy() détruit toutes les données enregistrées d'une session.
Cette derniére commande est la plus utilisée car n'impose aucune sauvegarde au serveur. Retourne TRUE en cas de succés, et FALSE sinon.
session_ destroy()