PHP Manipulation des données de session


Exemple

La $_SESSION est un tableau et vous pouvez le récupérer ou le manipuler comme un tableau normal.

<?php
// Starting the session
session_start();

// Storing the value in session
$_SESSION['id'] = 342;

// conditional usage of session values that may have been set in a previous session
if(!isset($_SESSION["login"])) {
    echo "Please login first";
    exit;
}
// now you can use the login safely
$user = $_SESSION["login"];

// Getting a value from the session data, or with default value, 
//     using the Null Coalescing operator in PHP 7
$name = $_SESSION['name'] ?? 'Anonymous';

Voir également Manipulation d'un tableau pour plus d'informations sur l'utilisation d'un tableau.

Notez que si vous stockez un objet dans une session, il peut être récupéré gracieusement seulement si vous avez un chargeur automatique de classe ou si vous avez déjà chargé la classe. Sinon, l'objet sortira comme le type __PHP_Incomplete_Class , ce qui peut entraîner ultérieurement des plantages . Voir Espaces de noms et chargement automatique à propos du chargement automatique.

Attention:

Les données de session peuvent être détournées. Ceci est décrit dans: Sécurité PHP Pro: des principes de sécurité des applications à la mise en œuvre de XSS Defense - Chapitre 7: Prévention du détournement de session Il est donc fortement recommandé de ne jamais stocker d'informations personnelles dans $_SESSION . Cela comprend surtout les numéros de carte de crédit , les identifiants émis par le gouvernement et les mots de passe ; mais s’étendrait également à des données moins supposées telles que des noms , des e - mails , des numéros de téléphone , etc., ce qui permettrait à un pirate de se faire passer pour un utilisateur légitime. En règle générale, utilisez des valeurs sans valeur / non personnelles, telles que des identificateurs numériques, dans les données de session.