Introduction aux sessions PHP

Les sessions sont utilisées dans les applications Web. L'utilisation de session en PHP vise à rendre les données disponibles sur différentes pages d'un site Web. Les données ou informations telles que le nom, l'adresse, etc. sont transmises d'une page à une autre session utilisateur. Ces informations de session sont utilisées à des fins d'authentification. Comme les cookies sont stockés sur le navigateur du client, les données de session sont stockées sur le serveur dans un répertoire temporaire.

Pour commencer une session, nous utilisons la fonction session_start (). Et lorsque la session démarre, elle dure 24 minutes par défaut, soit 1440 secondes. Une session est identifiée par des identifiants de session ou SID qui est un numéro unique pour identifier chaque utilisateur.

Comment créer des sessions?

session_start () est la fonction utilisée pour démarrer une session. Si une session existe déjà, elle utilisera la même session, sinon elle créera une nouvelle session. Cette fonction est toujours appelée au début de chaque page. Une fois la fonction appelée, nous pouvons commencer à stocker des valeurs dans les variables de session, mais pas avant. PHP stocke les informations de l'utilisateur dans une variable super globale $ _SESSION.

Pour savoir quel est le chemin du répertoire où les sessions sont stockées, nous avons une directive appelée session_save_path dans le fichier php.ini pour stocker le chemin. De plus, le session_id imprime l'id associé à la session en cours. Il s'agit d'un numéro unique généré aléatoirement.

Regardons le programme ci-dessous.

Dans ce programme, lorsque vous imprimez cette variable de session à l'aide de print_r ($ _ SESSION), toutes les données de session définies sont imprimées. La sortie se présente sous la forme d'un tableau associatif de paires clé-valeur.

Dans cet exemple, nous commençons d'abord la session en utilisant la fonction session_start (), initialisons les variables et l'affectons aux variables de session en utilisant _SESSION ('name') = $ name, imprimons le tableau super global. Nous imprimons également la valeur unique de l'identifiant de session avec la fonction session_id ().

Exemple 1

Code:

<_?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION('name') = $name;
$_SESSION('age') = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '
The session_id is ';
echo session_id();
?>

Production :

Comment supprimer des sessions?

Exemple # 2

La fonction Session_destroy () est utilisée pour détruire une session. Cette fonction détruit la session complète. Pour annuler une seule variable de session, nous pouvons utiliser la fonction unset ().

Dans cet exemple, nous imprimons d'abord les données de session pour savoir ce que contient la session, puis nous détruisons les variables de session déjà définies à l'aide de la fonction unset (). Ici, nous détruisons les deux variables de session définies comme le nom et l'âge. Et après la destruction, nous imprimons à nouveau la session, et voyons qu'elle retourne un tableau vide, ce qui signifie que les variables n'ont pas été définies et que la session n'existe plus.

Code

<_?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION('name'));
unset($_SESSION('age'));
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

Production :

Dans l'exemple suivant, nous détruisons une session.

Pour détruire la session, nous allons d'abord vérifier la valeur de la session, puis détruire la session. et imprimez à nouveau la session qui sera un tableau vide car la session n'existe pas.

Exemple # 3

Code:

<_?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '
';
print_r($_SESSION);
?>

Production :

Ici, dans le programme, nous voyons que dans la première ligne, nous démarrons la session et initialisons la variable de comptage à 0. Ensuite, nous vérifions si une variable de session est définie ou non. ici, nous vérifions une condition si un nom de session page_views est défini si oui, puis incrémentez la valeur de la variable de comptage de un et sinon, initialisez la valeur de comptage à un.

Exemple # 4

Code:

<_?php
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>
<_?php echo '
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>

Production:

Comment activer la session automatique dans Php?

Pour activer les sessions automatiques dans php, nous devons modifier le fichier de configuration qui est php.ini.

Où php.ini est un fichier de configuration par défaut

Les sessions ne démarrent pas automatiquement, pour faire fonctionner automatiquement une session, nous devons procéder comme suit, mais une fois terminée, la session est démarrée automatiquement pour tous les fichiers et se ferme après la fin de la période par défaut.

Donc, dans le fichier php.ini, nous rechercherons

session.auto_start = 0

et définissez la valeur à 1 comme ceci

session.auto_start = 1

Cela aidera PHP à démarrer automatiquement les sessions.

Importance de la session

  • Comme $ _COOKIE, nous avons $ _SESSION, qui est une variable superglobale et stockée sur le serveur.
  • Dans le cas où les cookies ne sont pas pris en charge par le navigateur de l'utilisateur, nous pouvons utiliser la session. Chaque session a un identifiant unique qui lui est attribué lors de la visite de l'utilisateur sur le site Web.
  • En termes de stockage de données, la session stocke plus de données qu'un cookie ne peut stocker.
  • La session est utilisée pour transporter des informations d'une page à l'autre.
  • La session peut être utilisée pour obtenir le nombre de visiteurs sur le site Web.
  • La session est également utilisée à des fins d'authentification.
  • Les ID de session générés sont uniques.

Conclusion

Dans cet article, il est expliqué ce qu'est une session, comment fonctionne la session, comment créer la session, comment supprimer une session particulière.

En outre, il est expliqué comment faire fonctionner les sessions en commençant automatiquement en définissant la valeur de la directive session.auto_start () sur 1.

Ensuite, avec un exemple, il a été expliqué comment compter, combien de fois la page a été consultée à l'aide de sessions. En outre, il est expliqué quelle est l'importance de la session et comment elle est utile à différentes fins.

Articles recommandés

Ceci est un guide des sessions en PHP. Ici, nous discutons de la façon de créer des sessions et de supprimer des sessions en PHP avec les exemples donnés. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Encapsulation en PHP
  2. PHP Magic Constants
  3. Surcharge en PHP
  4. Surcharger en PHP
  5. Constructeur en PHP
  6. Fonction récursive PHP
  7. Fonction récursive en Python
  8. Fonction récursive en C
  9. Fonction récursive en JavaScript
  10. Comment les cookies fonctionnent-ils en JavaScript avec l'exemple?