récupérer nom d'utilisateur

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

  • [RÉGLÉ] récupérer nom d'utilisateur

    Bonjour.

    Je me permets de poster ici, espérant être dans la bonne section, pour vous demander comment récupérer le nom d'utilisateur dans une variable php.

    J'ai essayé la méthode suivante :

    Code:
      global $my;
    $user= $my->username;
    mais lorsque je teste avec "echo $user;" rien ne s'affiche.

    Si je fais :

    Code:
    <?
    echo "Bonjour $user";
    ?>
    seul "Bonjour" s'affiche. :/

    Je fais cela sur la page index de mon template.

    J'ai également essayé la méthode :

    Code:
      global $my;
    $user = &JFactory::getuser();
    mais cette fois, "echo $user;" me renvoie "JUser", que je sois connecté ou non (et JUser n'étant le nom d'aucun utilisateur de mon Joomla!... :/

    JUser

    Question subsidiaire :

    Le but de la manoeuvre est de transférer cette variable dans un javascript pour utiliser le nom de l'utilisateur comme login dans un minichat (jappix mini).

    si je ne me trompe pas, je dois ensuite faire :

    Code:
     <script type="text/javascript">
    var usr= '<?php echo $user; ?>' ;
    ...
    launchMini(true, true, usr".jappix.com");
    ou plus simplement :
    Code:
    launchMini(true, true, "<?php echo $user; ?>.jappix.com");
    Quelqu'un peut confirmer (ou infirmer) ?

    Merci d'avance.
    Dernière édition par emz0 à 19/07/2012, 16h44
    http://ground0reloaded.hydrox-inc.com

    Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

  • #2
    Re : récupérer nom d'utilisateur

    Peut être cela

    Code PHP:
    $UserInfo =& JFactory::getUser();
    echo 
    '<ul><li>' $Userinfo->id '</li>' ;
    echo 
    '<li>' $Userinfo->username '</li>' ;
    echo 
    '<li>' $Userinfo->email '</li>' ;
    echo 
    '<li>' $Userinfo->usertype '</li></ul>' 
    Création site internet Joomla - www.webmastr.fr | Artisan digital depuis + de 10 ans !

    Commentaire


    • #3
      Re : récupérer nom d'utilisateur

      Merci beaucoup, mais cela ne retourne strictement rien. :/

      C'est tout de même curieux...
      http://ground0reloaded.hydrox-inc.com

      Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

      Commentaire


      • #4
        Re : récupérer nom d'utilisateur

        Bonjour,

        la variable globale $my n'existe plus en PHP 2.5.

        Il convient d'utiliser les classes Joomla! pour récupérer le user dans le contexte
        Code PHP:
        <?php
        // Attention, en PHP 5, na jamais utiliser une référence sur un objet
        // $my =& JFactory::get User() ; 
        // provoque un Waring Strict Standards une instance d'objet étant déjà une référence
        $my JFactory::getUser() ;
        $myusername $my->username;
        if ( ! empty( 
        $myusername ) ) {
        ?>
            <script type="text/javascript">
                launchMini(true, true, "<?php echo $myusername?>.jappix.com");    
            </script>
        <?php
        } else {
        ?>
            <p>Vous devez être connecté pour accéder au chat</p>
        <?php
        }
        ?>
        par exemple.
        Dernière édition par jisse03 à 19/07/2012, 18h50
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : récupérer nom d'utilisateur

          0k, merci pour cette information.

          Par contre, "$my = JFactory::get User() ;" retourne une "syntax error, unexpected T_STRING". :/
          http://ground0reloaded.hydrox-inc.com

          Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

          Commentaire


          • #6
            Re : récupérer nom d'utilisateur

            Faute de frappe:
            Lire
            Code PHP:
            $my JFactory::getUser() ; 
            espace qui a trainé en trop
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : récupérer nom d'utilisateur

              AH, oui, en effet ça marche mieux !

              MERCI !
              Dernière édition par emz0 à 19/07/2012, 20h06
              http://ground0reloaded.hydrox-inc.com

              Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

              Commentaire


              • #8
                Re : récupérer nom d'utilisateur

                Envoyé par emz0 Voir le message
                Pourtant cela fonctionnait ! o_O
                Et quoi a été bricolé entre le ça marchait et le ça march'pu ?
                Pas de demande de support par MP.
                S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                Commentaire


                • #9
                  Re : récupérer nom d'utilisateur

                  C'est bon, cela refonctionne. J'ai édité mon précédent post.

                  Curieusement, si je ne mets pas d'espace avant le ";" lorsque je déclare ma variable, cela ne fonctionne pas. En revanche, qu'il y ait ou non un espace lorsque je fais "echo $myusername" ne change rien. Etrange... Enfin, l'essentiel est que cela fonctionne !

                  Par contre, je galère avec mon javascript. Pour l'instant, je fais, pour voir :

                  Code:
                     var usr= '<?php echo $myusername ; ?>';
                        document.write(usr);
                  mais cela n'affiche rien.

                  De même :

                  Code:
                   document.write('<php echo $myusername ;');
                  n'affiche rien.
                  http://ground0reloaded.hydrox-inc.com

                  Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

                  Commentaire


                  • #10
                    Re : récupérer nom d'utilisateur

                    Sur les JavaScript spécifiques, là je ne fais pas de miracles..
                    Pas de demande de support par MP.
                    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                    Commentaire


                    • #11
                      Re : récupérer nom d'utilisateur

                      Bah, je vais y arriver. Tout à l'heure j'arrivais à transférer ma variable du code php au javascript et à l'afficher avec "document.write"... Je ne sais pas ce que je fais de différent maintenant, mais je finirai bien par trouver... Si j'y suis arrivé une fois... Et une fois que je serai parvenu à cela, je devrais pouvoir l'utiliser pour le login du chat.

                      En tout cas, je te remercie vivement : tu m'as bien aidé pour récupérer le nom d'utilisateur dans une variable... Sans toi, je serais bien loin de parvenir à quoi que ce soit !

                      EDIT : en fait, " document.write( '<?php echo $myusername; ?>'); et

                      Code:
                      var usr = '<?php echo $myusername; ?>';
                            document.write(usr);
                      fonctionnent bien. J'avais laissé des éléments du script de connexion au chat à la suite et c'est cela qui empêchait l'affichage (comment ? pourquoi ? mystère...).

                      Donc la seconde étape, c'est bon. Je passe à la suivante : utiliser la variable usr pour se loguer dans le chat.


                      EDIT : J'y suis presque :

                      Code HTML:
                       <?php
                      $my = JFactory::getUser() ;
                      $myusername = $my->username ;
                         if ( ! empty( $myusername ) ) {
                           $user = $myusername ;
                            } else {
                              $user = "Anne_0nyme" ;
                            } ?>
                      
                          <script type="text/javascript">
                             var usr = '<?php echo $user; ?>';
                                jQuery(document).ready(function() {
                            MINI_GROUPCHATS = ["[I](mon_salon[/I])"];
                            MINI_ANIMATE = true;
                      MINI_NICKNAME = usr;
                            launchMini(true, true, "anonymous.jappix.com");
                         });
                      </script>
                      Le seul problème est qu'à la connexion / déconnexion de l'utilisateur sur Joomla, la modification ne se fait pas sur le minichat. Il faut se déconnecter du chat et recharger la page pour que cela soit pris en compte. Il faudrait que je force la déco/reco sur le minichat au login/delog de l'utilisateur sur Joomla.
                      Ce qui m'étonne est que cela devrait il me semble se faire automatiquement puisque le rechargement de la page force une relogin sur le chat.. à moins que la page ne soit pas entièrement rechargée lorsqu'on se connecte ou se déconnecte à jommla.
                      Dernière édition par emz0 à 20/07/2012, 10h26
                      http://ground0reloaded.hydrox-inc.com

                      Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

                      Commentaire


                      • #12
                        Re : récupérer nom d'utilisateur

                        Je me permets de me répondre pour donner la solution, au cas où d'autres chercheraient (comment utiliser le login Joomla! comme login sous Jappix mini) :
                        :

                        Donc il faut commencer par lancer le script de Jappix min une première fois, faire un "disconnectMini();" puis récupérer le nom de l'utilisateur de joomla!, le transférer dans une variable javascript et relancer Jappix mini en utilisant cette variable comme login :

                        Code HTML:
                        // on lance une première fois Jappix mini :
                        
                        <script type="text/javascript"> 
                                  jQuery(document).ready(function() {
                              MINI_GROUPCHATS = ["monsalon@muc.jappix.com"]; // (remplacer "monsalon" par le nom de votre salon !)
                              launchMini(true, false, "anonymous.jappix.com");
                        // on déconnecte l'utilisateur du salon :
                           disconnectMini(); 
                           });
                        </script>
                        
                             <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
                        <script type="text/javascript" src="https://static.jappix.com/php/get.php?l=fr&amp;t=js&amp;g=mini.xml"></script>
                        
                           <?php
                        
                         // on récupère le login Joomla! de l'utilisateur :
                                    $my = JFactory::getUser() ;
                        
                         // on le stocke dans une variable :
                                    $myusername = $my->username ;
                        
                         // si l'utilisateur est connecté :
                                    if ( ! empty( $myusername ) ) {
                        // -> on assigne son nom d'utilisateur à la variable "myusername" :
                                                                                 $user = $myusername ; 
                         // sinon :
                                    } else {
                        // -> on lui attribue la valeur "Anne_0nyme" :
                                               $user = "Anne_0nyme" ; 
                                   } 
                          ?>
                          
                        // on va relancer Jappix mini :
                        
                          <script type="text/javascript">
                        
                         // on transfert le contenu de la variable php "myusername" dans une variable javascript "usr" :
                            var usr = '<?php echo $user; ?>';
                            jQuery(document).ready(function() { 
                              MINI_GROUPCHATS = ["monsalon@muc.jappix.com"];  // (remplacer "monsalon" par le nom de votre salon !)
                        
                        // afficher une image si l'utilisateur n'est pas connecté :
                              MINI_ANIMATE = true; 
                        
                        // utiliser le contenu de la variable "usr" comme nick sous Jappix mini :
                              MINI_NICKNAME = usr; 
                        
                         // lancement du client Jappix mini :
                              launchMini(true, false, "anonymous.jappix.com");
                           });
                        
                        </script>
                        Et voilà : l'utilisateur sera toujours connecté à Jappix mini sous son nom de connexion Joomla!, et s'il n'est pas connecté à Joomla! il sera enregistré sous le nom "Anne_0nyme" sous Jappix (attention : si plusieurs non connectés, il s'appelleront tous "Anne_0nyme" !).

                        Il y a certainement une manière plus légère de faire cela, notamment en ne déconnectant de Jappix mini que via le formulaire de login de joomla! (/components/com_users/controllers/user.php), mais au moins comme cela ça fonctionne. Je continue à étudier la question et vous tiens informés si j'avance. bien sur, si quelqu'un a une idée, qu'il n'hésite pas à l'indiquer ici.
                        Dernière édition par emz0 à 23/07/2012, 13h25
                        http://ground0reloaded.hydrox-inc.com

                        Ground.0reloaded, le docufiction interactif censuré par les illuminati (série vidéoludique - déconseillé pour tous publics : la fin du monde commence ici...)

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X