Pour ce tutoriel, nous allons partir du principe que vous savez déjà ouvrir et fermer une session sécurisée en PHP.
Voyons comment ajouter un bouton de déconnexion de session sur votre site internet.
Sommaire :
Déposez gratuitement votre projet sur Codeur.com, recevez une quinzaine de devis et sélectionnez le développeur web idéal.
Trouver un développeur webAfficher le bouton de déconnexion
Ce bouton, qui est en réalité un lien déguisé en bouton peut :
- envoyer sur une url précise servant à la déconnexion, comme
/logout.php
; - utiliser un paramètre dans dans l’url qui va signifier que l’on doit déconnecter, par exemple
/index.php?logout=1
.
Dans tous les cas, le fonctionnement reste le même. Choisissez un endroit sur votre site internet où le bouton de déconnexion sera ajouté (de préférence à côté du nom de l’utilisateur dans le header). Nous pouvons rajouter une petite condition pour n’afficher le bouton que si l’utilisateur est connecté.
<div class="user-widget">
<?php if( isset($_SESSION['user_id']) && $_SESSION['user_id'] !== null ) : ?>
<a href="/logout.php">Se déconnecter</a>
<?php else : ?>
<a href="/login.php">Se connecter</a>
<?php endif; ?>
</div>
La déconnexion d’une session en PHP
Dans le premier cas de figure, on a plus qu’à ouvrir le fichier .php et utiliser la fonction session_destroy.
<?php
session_destroy();
?>
Dans le second cas, dans un middleware ou avant le chargement des routes, nous allons pouvoir ajouter une condition
<?php
if( isset($_GET['logout']) && $_GET['logout'] == 1 ) {
session_destroy();
}
?>
Notre astuce pour ajouter un bouton de déconnexion de session en PHP
Vous avez maintenant la base pour créer un bouton de déconnexion. Vous pouvez vous en servir et l’adapter pour votre projet selon vos besoins.
Attention, cependant, pour utiliser les sessions en PHP, n’oubliez pas d’initialiser session_start dès l’ouverture de votre projet.
Si la gestion de votre session vous donne du fil à retordre, n’hésitez pas à faire appel à un développeur PHP freelance. Sur Codeur.com, le dépôt d’annonce est gratuit et vous permet de recevoir rapidement de nombreux devis de développeurs professionnels.