Derniers tutoriels de développement web
 

PHP 5 séances


Une session est un moyen de stocker des informations (in variables) les (in variables) à utiliser sur plusieurs pages.

Contrairement à un cookie, les informations ne sont pas stockées sur l'ordinateur des utilisateurs.


Qu'est-ce qu'une session PHP?

Lorsque vous travaillez avec une application, vous l'ouvrez, faites quelques modifications, puis vous le fermez. Cela ressemble beaucoup à une session. L'ordinateur sait qui vous êtes. Il sait quand vous lancez l'application et lorsque vous mettez fin. Mais sur Internet il y a un problème: le serveur web ne sait pas qui vous êtes ou ce que vous faites, parce que l'adresse HTTP ne maintient pas l'état.

Les variables de session résoudre ce problème en stockant des informations utilisateur à utiliser sur plusieurs pages (eg username, favorite color, etc) . Par défaut, les variables de la dernière session jusqu'à ce que l'utilisateur ferme le navigateur.

Alors; Les variables de session contiennent des informations sur un utilisateur unique, et sont disponibles pour toutes les pages dans une seule application.

Astuce: Si vous avez besoin d' un stockage permanent, vous pouvez stocker les données dans une base de données .


Démarrer une session PHP

Une session est démarré avec le session_start() fonction.

Les variables de session sont définies avec la variable globale PHP: $ _SESSION.

Maintenant, nous allons créer une nouvelle page appelée "demo_session1.php" . Dans cette page, nous commençons une nouvelle session PHP et définirait des variables de session:

Exemple

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>
»Exécuter exemple

Note: Le session_start() fonction doit être la première chose dans votre document. Avant toutes les balises HTML.


Obtenez PHP session Valeurs variables

Ensuite, nous créons une autre page appelée "demo_session2.php" . A partir de cette page, nous aurons accès à l'information de session , nous avons mis sur la première page ("demo_session1.php") .

Notez que des variables de session ne sont pas transmises individuellement à chaque nouvelle page, au lieu qu'ils sont extraits de la session , nous ouvrons au début de chaque page ( session_start() ).

Notez également que toutes les valeurs de variables de session sont stockés dans la variable globale $ _SESSION:

Exemple

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
»Exécuter exemple

Une autre façon de montrer toutes les valeurs de variables de session pour une session utilisateur est d'exécuter le code suivant:

Exemple

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
»Exécuter exemple

Comment ça marche? Comment sait - il c'est moi?

La plupart des séances définir une clé utilisateur sur l'ordinateur de l'utilisateur qui ressemble à ceci: 765487cf34ert8dede5a562e4f3a7e12. Ensuite, lorsqu'une session est ouverte sur une autre page, il scanne l'ordinateur pour une clé utilisateur. S'il y a un match, il accède à cette session, sinon, il commence une nouvelle session.


Modifier une session PHP variable

Pour modifier une variable de session, remplacer simplement:

Exemple

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
»Exécuter exemple

Détruire une session PHP

Pour supprimer toutes les variables globales de session et de détruire la session, l' utilisation session_unset() et session_destroy() :

Exemple

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>
»Exécuter exemple