We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23360
    • 258 Posts
    Bonjour,
    J’ai un petit truc de particulier.

    J’inclu un script externe à MODX et une session n’est pas pris en compte.

    Je le fait ainsi.
    J’ai créé un snipest que j’ai appelé "include" danslequel j’y ai collé ce code
    <?php
    if (file_exists($file)) {
       $o = include $file;
    } else { 
      $o = 'File not found at: '.$file; 
    }
    //return $o;
    


    Puis, dans l’une de mes pages je fait appel à ce dernier ainsi
    [[!include &file=`/mon_dossier/mon_script.php`]]


    ca marche bien, sauf que mon_script.php va luis appeler un script captcha.php
    <img src="captcha.php" />

    qui lui crée un variable de session $_SESSION[’key’], qui sera repris dans mon_script.php pour la validation.

    Le problème c’est que ma variable de session $_SESSION[’key’] est toujouts vide.

    J’ai tendance à dire que MODx n’y ait pas pour rien. Auriez-vous une idée?
      • 36404
      • 307 Posts
      Salut,

      je crois me souvenir que tu bosses avec Revo, du coup je suis moins à même de t’aider là-dessus (je suis revenu sur Evo assez rapidement...) mais tentons quand même smiley

      sur Evo en tout cas, si tu n’es ni loggué comme mgr ni comme user, Evo n’a pas besoin d’une session php et n’en a pas qui court (Revo n’en crée pas une non plus en tout cas dans le fichier index.php)
      j’ai fait un site complet sous identification distante depuis un logiciel (si, si, logiciel, un truc intranet entreprise très protégé...) et avais dû surcharger la partie login et session en faisant courir une moi-même sur le site

      du coup, premier truc à faire pour voir de quoi il en retourne, fais-toi un petit snippet du style seeSession dans lequel tu mets juste un print_r($_SESSION) et que tu colles en haut de tes templates pour voir ce que ça raconte.
      Il se peut que ça ne raconte rien du tout... dans ce cas, dans ce même snippet (toujours en haut de tes templates et avant toute chose) ajoute juste session_start();, là peut-être que modx sera plus compréhensif avec les variables que tu manipules ensuite (en rappelant juste un truc pour la forme, ne m’en veux pas si tu trouves ça évident, on ne sait jamais... session_start(); doit se trouver avant toute forme de sortie quelle qu’elle soit alors que tu peux en revanche manipuler des variables de session avec $_SESSION n’importe où sans problème)

      Have swing
        réfléchir avant d'agir