Annonces

Dans ce tutoriel, vous apprendrez comment stocker des données sur le serveur sur une base temporaire à l’aide de session PHP.

Qu’est-ce qu’une Session

bien que vous puissiez stocker des données à l’aide de cookies, mais cela pose des problèmes de sécurité. Les cookies sont stockés sur l’ordinateur de l’utilisateur, il est possible pour un attaquant de modifier facilement un cookie contenu à insérer potentiellement nocifs des données dans votre application qui pourrait casser votre application.,

de plus, chaque fois que le navigateur demande une URL au serveur, toutes les données de cookie d’un site Web sont automatiquement envoyées au serveur dans la demande. Cela signifie que si vous avez stocké 5 cookies sur le système de l’utilisateur, chacun ayant une taille de 4 KO, le navigateur doit télécharger 20 Ko de données chaque fois que l’utilisateur consulte une page, ce qui peut affecter les performances de votre site.

Vous pouvez résoudre ces deux problèmes en utilisant la session PHP. Une session PHP stocke les données sur le serveur plutôt que sur l’ordinateur de l’utilisateur., Dans un environnement basé sur une session, chaque utilisateur est identifié par un numéro unique appelé identifiant de session ou SID. Cet ID de session unique est utilisé pour lier chaque utilisateur à ses propres informations sur le serveur, telles que les e-mails, les publications, etc.

Astuce: Les Identifiants de session sont générés aléatoirement par le moteur PHP, ce qui est presque impossible à deviner. De plus, comme les données de session sont stockées sur le serveur, elles n’ont pas besoin d’être envoyées à chaque demande du navigateur.,

le Démarrage d’une Session PHP

Avant de vous pouvez stocker des informations dans des variables de session, vous devez d’abord démarrer la session. Pour commencer une nouvelle session, appelez simplement la fonction PHP session_start(). Il va créer une nouvelle session et générer un ID de session unique pour l’utilisateur.

le code PHP dans l’exemple ci-dessous démarre simplement une nouvelle session.,

Exemples

Télécharger

<?php// Starting sessionsession_start();?>

Le session_start() fonction vérifie d’abord si une session existe déjà en recherchant la présence d’un IDENTIFIANT de session. S’il en trouve une, c’est-à-dire si la session est déjà démarrée, il configure les variables de session et si ce n’est pas le cas, il démarre une nouvelle session en créant un nouvel ID de session.

Remarque: Vous devez appeler le session_start() fonction au début de la page, c’est à dire, avant toute sortie générée par votre script dans le navigateur, un peu comme vous le faites lors de la configuration des cookies avec la fonction setcookie().

Stockage et l’Accès aux Données de Session

Vous pouvez stocker toutes vos données de session en tant que paires clé-valeur dans la balise $_SESSION superglobale tableau. Les données stockées sont accessibles pendant la durée de vie d’une session. Considérez le script suivant, qui crée une nouvelle session et enregistre deux variables de session.,

pour accéder aux données de session que nous avons définies dans notre exemple précédent à partir de n’importe quelle autre page du même domaine web — recréez simplement la session en appelantsession_start(), puis passez la clé correspondante au tableau associatif$_SESSION.

le code PHP dans l’exemple ci-dessus produit la sortie suivante.

Salut, Peter Parker

Remarque: Pour accéder aux données de session dans la même page, il n’est pas nécessaire de recréer la session puisqu’il a été déjà commencé sur le haut de la page.,

détruire une Session

Si vous souhaitez supprimer certaines données de session, il suffit de décocher la clé correspondante du tableau associatif$_SESSION, comme indiqué dans l’exemple suivant:

Cependant, pour détruire complètement une session, il suffit d’appeler la fonction session_destroy(). Cette fonction n’a besoin d’aucun argument et un seul appel détruit toutes les données de session.,

Exemples

Télécharger

<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>

Remarque: Avant de détruire une session avec le session_destroy() function, vous devez d’abord recréer la session de l’environnement si elle n’est pas déjà là à l’aide de la balise session_start() fonction, de sorte qu’il ya quelque chose à détruire.

chaque session PHP a une valeur de timeout — une durée, mesurée en secondes — qui détermine combien de temps une session doit rester en vie en l’absence de toute activité utilisateur., Vous pouvez ajuster cette durée en modifiant la valeur de la variable session.gc_maxlifetime dans le fichier de configuration PHP (php.ini).

Annonces

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *