Sans avoir à appeler chaque variable de session par son nom, existe-t-il un moyen d'afficher le contenu de toutes les variables de session actuellement définies?
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
Ou vous pouvez utiliser print_r
si vous ne vous souciez pas des types. Si vous utilisez print_r
, vous pouvez créer le deuxième argument TRUE
afin qu'il retourne à la place de echo, utile pour ...
echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>';
<?php
session_start();
echo "<h3> PHP List All Session Variables</h3>";
foreach ($_SESSION as $key=>$val)
echo $key." ".$val."<br/>";
?>
Pas simple, non.
Disons que par "actif" vous voulez dire "n'a pas dépassé la durée de vie maximale", n'a pas été explicitement détruit et que vous utilisez le gestionnaire de session par défaut.
Si vous en avez vraiment besoin, vous devez implémenter une sorte de gestionnaire de session personnalisé. Voir session_set_save_handler
.
Tenez également compte du fait que vous ne recevrez aucun retour si l’utilisateur ferme simplement le navigateur ou s’éloigne de votre site sans se déconnecter explicitement. Selon le degré d'inactivité que vous considérez comme le seuil permettant de considérer une session comme "inactive", le nombre de faux positifs que vous obtiendrez peut être très élevé.
Vous pouvez utiliser le code suivant.
print_r($_SESSION);
session_start();
echo '<pre>';var_dump($_SESSION);echo '</pre>';
// or
echo '<pre>';print_r($_SESSION);echo '</pre>';
NOTE: session_start (); line is must alors seulement vous pourrez imprimer la valeur $ _SESSION