[RESOLU] Vérifier si une session est ouverte?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Vérifier si une session est ouverte?

Re: Vérifier si une session est ouverte?

par BlitzMX » 08 juil. 2019, 11:26

Solution:


function accueil()
{
    // REQUIRED FOR SESSION
    if (session_status() == PHP_SESSION_NONE) {
        session_start();
    }
    // IMPORT VIEWS
    $view = file_get_contents("view/_layout.html");
    // REQUIRED FOR SESSION
    $view = Verify_Session($view);
    $default_code = "ACCUEIL";
    echo ReplaceContent($default_code, $view);
}







function Verify_Session($view)
{
    if (isset($_SESSION['db_email']) != null) {
        $view = str_replace("{HELLO_USER}", "Hello " . $_SESSION['db_email'] . "<a href=\"index.php?action=logout\"> LogOut</a>", $view);
    } else {
        $view = str_replace("{HELLO_USER}", "Veuillez vous loger.", $view);
    }
    return $view;
}


Vérifier si une session est ouverte?

par BlitzMX » 08 juil. 2019, 11:00

Bonjour

J’essaie de vérifier si une session est ouverte a chaque ouverture de page a travers une méthode dans le controller.

Suis-je sur la bonne direction? Comment faites'vous pour vérifier la session a chaque changement de page?



function Verify_Session($view)
{

    session_start();

    if (isset($_SESSION['db_email']) != null) {

        $view = str_replace("{HELLO_USER}", "Hello " . $_SESSION['db_email'] . "<a href=\"index.php?action=login\"> LogOut</a>", $view);
    } else {

        $view = str_replace("{HELLO_USER}", "Veuillez vous loger.", $view);
    }

    return $view;

}


Je n'arrive pas non plus a fermer la session correctement, la session semble ouverte même après avoir exécuté session_destroy();


function logout()
{
    // session_start();

    // Détruit toutes les variables de session
    $_SESSION = array();

    // Si vous voulez détruire complètement la session, effacez également
    // le cookie de session.
    // Note : cela détruira la session et pas seulement les données de session !
    if (ini_get("session.use_cookies")) {
        $params = session_get_cookie_params();
        setcookie(session_name(), '', time() - 42000,
            $params["path"], $params["domain"],
            $params["secure"], $params["httponly"]
        );
    }

    // Finalement, on détruit la session.
    session_destroy();

    header('Location: ../index.php');

}