Référencehttps://www.php.net/manual/fr/intro.session.php

Le support des sessions de PHP est un moyen de préserver des données entre plusieurs visites effectuées avec le même navigateur.

Chaque visiteur accédant à votre page web se voit assigner un identifiant unique, appelé "identifiant de session". Il peut être stocké soit dans un cookie, soit propagé dans l'URL.

Le support des sessions vous permet de stocker des données entre les requêtes dans le tableau super-globale $_SESSION. Lorsqu'un visiteur accède à votre site, PHP va vérifier automatiquement (si session.auto_start est activé) ou sur demande (explicitement avec session_start()) s'il existe une session du même nom. Si c'est le cas, l'environnement précédemment sauvé sera recréé.

Attention si session.auto_start n'est pas activé, il est conseillé de commencer tous vos scripts qui utilisent les sessions par :

session_start(); 

Exemple de création d'une session

if(!isset($_SESSION)) {
    if(session_start()) $_SESSION["login"] = true;
    else echo "Problème de session";
}

Exemple d'utilisation d'une session 

<?php
if(!isset($_SESSION)) {
    if(!session_start()) echo "Problème de session";
}
?>

<?php if(isset($_SESSION['login']) && $_SESSION['login'])  : ?>
  <section>
    <a href="/node/<?= $GLOBALS['data']->nid; ?>/edit">Modifier</a>
  </section>
<?php endif ?>

Sessions auto_start

Afin de ne pas être obligé d'invoquer systématiquement session_start(), il sera également nécessaire de modifier php.ini :

session.auto_start = 1

Enregistrez le fichier.

Relancez le serveur pour qu'il prenne en compte les modifications

Sous ubuntu 18.04 :

sudo systemctl reload apache2