We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21985
    • 82 Posts
    Bonjour,
    Petit problème que je n’arrive pas à résoudre ...

    J’ai créé un petit script de login pour un ’membre’, qui une fois identifié, met dans une variable de session son nom
    Ensuite dans un autre script, je refais un session start et j’affiche la variable de session qui affiche bien le nom, donc ce test me prouve que l’hébergement est bien configuré

    Maintenant dans un snippet ’monsnippet’, je met le même code

    session_start();
    $mavar="Le nom ".$_SESSION["MM_Username"];
    return $mavar;


    Donc après le login, je fais appel à une page de modx qui contient [!monsnippet!]

    le résultat est toujours "le nom" et puis plus rien ??
    j’oublie quelque chose ?

    En vous remerciant
    Pat
      • 21985
      • 82 Posts
      Bon, j’ajoute une pièce au puzzle après quelques analyses ...

      Passage par login.php qui va valider l’identification en mettant quelques variables en session, ensuite appel à login2.php

      lorsque j’affiche le nom de la session et l’id
      PHPSESSID
      598d5db4063d3ee38727b953ed2b8c99

      Même scénario mais je vais sur une page de modx au lieu de mon login2.php
      SN44bac671521f4
      2dd2026b711354dc20cd685d559d39a4

      Donc en allant dans modx, le nom de la session est changé et l’id également, pas étonnant que ma variable de session soit vide !!

      Je ne peux mettre mon script de validation dans un snippet vu qu’un snippet est juste capable de renvoyer un contenu et non de faire une redirection ...

      Comment faire ?

      Patrick
        • 1186
        • 202 Posts
        Bonjour objectifweb,

        Je réagis juste à ta dernière ligne car peu de temps à dispo : si, il est possible de faire une redirection via un snippet, à l’aide de $modx->sendRedirect.

        Par exemple : $modx->sendRedirect($modx->makeUrl($docid)) !
          R
          • 21985
          • 82 Posts
          Merci Moon, figure toi qu’en désespoir de cause, j’ai créé un snippet où j’ai collé tout mon script de validation avec sa redirection mais un simple header location et mon formulaire fait appel à une page où j’ai collé ce snippet, et bien là ca marche !

          Pour faire plus propre, je vais regardé ta balise de redirection

          Merci
          Patrick
            • 1186
            • 202 Posts
            Ok Patrick, j’espère que tu vas pouvoir t’en sortir avec cette fonction !

            En fait l’API de MODx offre un tas de fonctions sympatiques comme ça qui simplifient la vie, mais elles ne sont pas toutes listées dans la doc du développeur "API Quick Reference". Dommage qu’il n’existe pas de liste exhaustive. Enfin si cette liste existe, je suis passée à côté sans la voir !! wink
              R
              • 21985
              • 82 Posts
              Je vais également chercher, je viens d’étomite et là mes sessions fonctionnaient, pas possible de faire une redirection dans un snippet (enfin je crois) mais j’avais pas besoin de chercher à le faire, ici ca change un peu, faut le temps de s’habituer. Depuis ce matin je rame sur ce truc smiley

              Pat
                • 33175
                • 711 Posts
                Quote from: objectifweb at Jul 21, 2006, 07:50 AM

                Même scénario mais je vais sur une page de modx au lieu de mon login2.php
                SN44bac671521f4
                2dd2026b711354dc20cd685d559d39a4

                Donc en allant dans modx, le nom de la session est changé et l’id également, pas étonnant que ma variable de session soit vide !!
                Bonjour,

                Que veux tu dire par "en allant dans modx" ?

                Normalement, les variables de sessions devraient fonctionner.

                Je ne me souviens plus trop du fonctionnement des variables de sessions mais il me semble que si tu fais 2 tests (et donc une connexion et une déconnexion, puis une autre connexion) la variable de session est forcément réinitialisée. Dans ce cas, c’est normal que tu obtiennes 2 ID différentes.
                  Sorry for my english. I'm french... My dictionary is near me, but it's only a dictionary !
                  • 21985
                  • 82 Posts
                  Bonjour Guillaume,

                  "en allant dans modx"

                  je lance le site sur la page de login (en dehors de modx)
                  www.ghjghjghjghjghjg.ghj/login.php

                  ce script contient un formulaire de login, prend le nom et le mot de passe, vérifie si l’accès est autorisé et ensuite je fais d’abord une redirection vers une autre page www.ghjghjghjghjghjg.ghj/login2.php
                  Dans ce deuxième script, j’affiche ma variable de session définie dans login.php ca marche

                  Ensuite depuis ma page login, je fais cette fois www.ghjghjghjghjghjg.ghj/index.php?id=xx et dans cette page j’ai créé un snippet qui affiche également ma variable de session, vide de chez vide !

                  Normal dans les deux cas, celui de ma page login2.php qui marche et celle de modx les informations de cession sont totalement différentes

                  Suis-je clair ?

                  De plus je ne fais pas de déconnexion ...

                  je lance ma page www.ghjghjghjghjghjg.ghj/login.php et je m’identifie....

                  je laisse le navigateur et je vais sur www.ghjghjghjghjghjg.ghj/login2.php (ca marche)
                  je vais sur www.ghjghjghjghjghjg.ghj/index.php?id=xx ca marche plus, variables vides dans la session

                  tant que je laisse mon navigateur ouvert, je ne fais pas de déconnexion !
                  On dirait qu’en utilisant modx, il se fait sa petite session à lui

                  Patrick
                    • 33175
                    • 711 Posts
                    Je pense avoir tout compris mais bon, avec la chaleur, je fatigue tongue

                    Il y a un truc qui me chiffone, peut être à tort...
                    Modx gère les pages par leurs identifiants : /index.php?id=xx
                    Hors, tu utilises une page login.php et login2.php pour ensuite rediriger vers index.php?id=xx.
                    Je pense que le problème pourrait provenir de là.
                      Sorry for my english. I'm french... My dictionary is near me, but it's only a dictionary !
                      • 21985
                      • 82 Posts
                      Bonsoir Guillaume,

                      oui c’est normal, je fais un traitement dans un fichier php mais qui dans le même domaine, même navigateur et avec etomite par exemple, cela marche, j’ai jamais eu de problème de session, j’ai fais toute une gestion de membres avec etomite et tout était en session, sans problème.

                      Mais ici, j’ai trouvé la solution, je met mon formulaire dans un chunk, et mes scripts en php dans des snippets, même si il y a des redirections conditionelles, apparament ca marche bien et mes sessions sont bien là

                      Pat