Maintien de connexion dans composant perso

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Maintien de connexion dans composant perso

    Bonjour,

    J'avance sur mon projet de composant spécifique.
    Je suis de nouveau confronté à un souci.
    Mon composant permet à un utilisateur identifié de modifié sa fiche de données personnelles.
    S'il se connecte (via mod_login) un menu spécifique (affiché par un mod_mainmenu) est disponible avec un lien vers mon composant.
    Le composant se lance et lui permet de cliquer sur sa fiche.
    Un formulaire s'ouvre alors avec un bouton "enregistrer".

    Mon souci est que lorsque je clique sur "enregistrer", Joomla perd l'identification.
    Vu que mon composant, pour valider la sauvegarde du formulaire, contrôle l'id du User, le script affiche logiquement mon message de sécurité "Identifiez vous pour continuer" ...

    Est-ce qu'une idée vous viens pour résoudre ce problème ?
    Si vous avez besoin de bout de code dites-le moi

    D'avance merci !

  • #2
    Re : Maintien de connexion dans composant perso

    Cela me fait penser à un bug que j'avais rencontré à une époque ancienne : utilises-tu des JText::_ dans ton composant avec un code qui contient des caractères accentués.

    Un truc du style

    Code PHP:
    echo JText::_('Vous êtes (blabla)'.$user->name); 
    Et c'est à proscrire. Les JText::_ ne doivent utiliser que des variables du style

    Code PHP:
    echo JText::_('COMP_MONCOMP_YOU_ARE'.$user->name); 
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Maintien de connexion dans composant perso

      Salut Cavo !

      J'ai bien évidemment des JText dans mon composant, notamment sur mon template de formulaire, mais aucun n'agit ou ne traite les données de mon User ...

      Dans mon point d'entrée composant j'ai juste un
      Code PHP:
      $user =& JFactory::getUser(); 
      Qui me permet en suite de tester que l'utilisateur n'est pas 'guest' avant toute chose.
      Dans ma vue (et son template), je réutilise :
      Code PHP:
      $user =& JFactory::getUser(); 
      Pour déterminer si l'utilisateur peut ou non modifier telle ou telle fiche ...

      Le souci vient du fait que
      Code PHP:
      $user =& JFactory::getUser();
      echo 
      $user->id
      renvoie 0 une fois que j'ai validé mon formulaire ...
      Dernière édition par Benzouye à 15/12/2011, 13h11

      Commentaire


      • #4
        Re : Maintien de connexion dans composant perso

        J'avais bien compris...

        Quand tu te connectes, le module mod_login dit un truc du style "Bienvenue UserName". Une fois que tu as validé ton formulaire, que dis mod_login ? Il propose de se connecter (==> tu as perdu ta connexion et c'est pas normal). S'il continue à dire "Bienvenue UserName"; le bug est dans ton composant.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Re : Maintien de connexion dans composant perso

          Merci, pertinente question ...
          Je viens de regarder le comportement de mod_login.
          La connexion se perd en arrivant sur le formulaire !
          Pourtant sur mon formulaire j'ai bien affiché bien l'idUser, mais mod_login affiche le formulaire de connexion ...


          EDIT : Si, depuis la page de mon formulaire (?controller=member&task=edit&cid[0]=4&lang=fr) je re rempli le formulaire de mod_login pour me re identifier, rebelote ... mod_login reste en formulaire de connexion ... bis
          Dernière édition par Benzouye à 15/12/2011, 13h27

          Commentaire


          • #6
            Re : Maintien de connexion dans composant perso

            Tu es sûr que tu n'as pas des JText::_('') avec autre chose qu'un code ? Sinon, je donne ma langue au chat.
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Re : Maintien de connexion dans composant perso

              Bon ben je viens de me taper une recherche de JText sur tout mon composant, j'ai remplacé tous les JText par texte simple ...
              Même punition merci quand même cavo789 ...

              Commentaire


              • #8
                Re : Maintien de connexion dans composant perso

                Un constat étrange, dans la partie admin, j'ai un empilement d'utilisateurs enregistrés avec mon login, comme si, à chaque connexion, je recréé une nouvelle instance de connexion sans tuer l'ancienne ?!
                Je ne maîtrise plus là ...
                Quelqu'un ?

                Commentaire


                • #9
                  Re : Maintien de connexion dans composant perso

                  Hello,

                  Bien vu pour le mod_login, ca permet de voir effectivement quand est-ce que vous perdez la connexion.

                  Pour l'empilement des utilisateurs, c'est aussi une bonne piste.
                  Il y a surement dans votre composant un appel a JFactory ou une manipulation d'objet User qui ne semble pas conforme !?

                  Est-ce que vous pouvez poster ici, juste le code de la fonction de votre controleur qui est appelée lorsque vous cliquez sur "enregistrer" (et que Joomla perd l'identification.) ?

                  Garstud Workshop - Concepteur, Développeur et Formateur Joomla - http://www.garstud.com
                  « Ce n’est pas parce que les choses sont difficiles que nous n’osons pas,
                  c’est parce que nous n’osons pas qu’elles sont difficiles. »
                  - Sénèque

                  Commentaire


                  • #10
                    Re : Maintien de connexion dans composant perso

                    Merci môssieur
                    Christophe (cavo789)
                    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                    Commentaire


                    • #11
                      Re : Maintien de connexion dans composant perso

                      Salut garstud !

                      La connexion se perd lorsque je clique sur un lien hypertexte généré en PHP dans mon composant :
                      le lien est
                      Code HTML:
                      http://urldusite/fr/cartos-adherents?controller=member&task=edit&cid[0]=4
                      il est généré par cette ligne de mon composant, dans mon template members :
                      Code PHP:
                      $link = JRoute::_( 'index.php?option=com_members&controller=member&task=edit&cid[]='. $member->id_entreprise );

                      <a href="<?php echo $link?>" title="<?php echo $texte?> entreprise"><?php echo $imgUser.' '.$member->rais_soc?></a>
                      Si cela peut vous permettre de m'aider Merci !

                      Lorsque je cliques, le formulaire s'affiche bien, alors qu'il est conditionné sur le user id, donc le user id est encore bon au moment du parcours de mon template member (sans s) mais le mod_login apparait avec le formulaire de connexion (qui doit pourtant être généré avant mon composant ???
                      Dans la partie admin, l'utilisateur front end est toujours enregistré ...
                      Dernière édition par Benzouye à 16/12/2011, 20h51

                      Commentaire


                      • #12
                        Re : Maintien de connexion dans composant perso

                        L'adresse retournée par ton JRoute::_ est très bizarre...

                        com_members, c'est ton composant ? Cela n'a rien à voir avec ta question mais tu devrais gérer le &controller et le &task dans ton router.php afin d'avoir une url plus propre...

                        Pour ton soucis : tu as donc activé le mode SEF. Que se passe-t-il si tu le désactive ? Si c'est OK dans ce cas-là, on peut donc supposer que c'est le router qui plante...
                        Christophe (cavo789)
                        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                        Commentaire


                        • #13
                          Re : Maintien de connexion dans composant perso

                          Je viens de tester sans le mode SEF, même punition ...

                          Pour info, 'cartos-adherents' dans l'url généré par JRoute est l'alias de mon élément de menu basé sur mon composant com_members. Même si cela ne résoud pas mon problème je vais essayer de mieux intégrer mon composant avec router.php.

                          Sinon, une autre idée ? D'avance merci !
                          Dernière édition par Benzouye à 16/12/2011, 23h33

                          Commentaire


                          • #14
                            Re : Maintien de connexion dans composant perso

                            Un petit UP

                            Commentaire


                            • #15
                              Re : Maintien de connexion dans composant perso

                              Toujours rien ? Je suis preneur de conseil de diagnostic également, pour m'aider à déterminer ce qui pourrait causer la perte d'identification ...

                              Allez un petit effort Merci !

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X