justinmassiot
9/11/2015 - 6:36 PM

[2010 - Sono SGDF] Switch PHP session

Code to switch between two PHP sessions.

<?php
function session_show_infos() {
  echo session_name()."<br />";
  echo session_id()."<br />";
}

$nomSessionExterne = "SESSIONGMS";

// enregistrement de la session MODx, puis changement de session vers la session de GMS
if (session_name() != $nomSessionExterne) { // changement de session seulement si nécessaire
  session_write_close();
  $tmpSessName = session_name($nomSessionExterne);
  if (isset($_COOKIE[session_name()])) { // la session externe est potentiellement ouverte
    $tmpSessID = session_id($_COOKIE[session_name()]);
    session_start();
  }
  else { session_name($tmpSessName); } // si la session n'existe pas, on revient à précédente par sécurité
}

if ( isset($_SESSION["auth_user"]) and isset($_SESSION["login"]) ) return "<br /><span id=\"sessionGMSouverte\"><strong>ta session de GMS est ouverte</strong></span>";

// arret de session GMS, retour a la session MODx
if (isset($tmpSessID)) {
  session_write_close();
  session_name($tmpSessName);
  session_id($tmpSessID);
  session_start();
}