Recupération info utilisateur connecté

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

  • [RÉGLÉ] Recupération info utilisateur connecté

    Bonjour
    Je voudrais afficher dans un iframe à l'intérieur d'un article, les données propres à l'utilisateur connecté, comme son nom, son email par exemple.
    Sous Joomla3 j'utilisais ce code inséré dans le fichier index.php

    $user = JFactory::getUser();
    $umsrf = $user->get('id');
    $usrname = $user->get('username');
    $usrnom = $user->get('name');
    setcookie("userid_m",$umsrf);
    setcookie("userid_name",$usrname);
    setcookie("userid_nom",$usrnom);

    Ceci me permet de récupérer les données nécessaire dans mon iframe
    Cependant sous joomla 4 le code ne fonctionne pas.

    Avez-vous un avis la dessus ?
    Merci

  • #2
    Hi

    $user = JFactory::getUser();
    $umsrf = $user->get('id');
    $usrname = $user->get('username');
    $usrnom = $user->get('name');


    This works very well for me (used in a personal module with PHP extension). I don't use setcookie().

    Bien sûr, il faut récupérer ces valeurs après connexion de l'utilisateur. Il faut donc repasser par le fichier index après sa connexion avant de les utiliser (ou les placer ailleurs).

    Commentaire


    • #3
      bonjour,
      regarde le premier exemple de ce message :
      jfactory est pour joomla 3.
      cela deviens factory pour joomla 4

      Salut, comme le titre l'indique, Listes - non exhaustives - des nouveaux "namepaces" dans Joomla 4 [4.0] Namespace by brianteeman · Pull Request #24931 https://github.com/joomla/joomla-cms/pull/24931/files [4.0] Namespace by brianteeman · Pull Request #25137 https://github.com/joomla/joomla-cms/pull/25137/files

      Commentaire


      • #4
        Bonjour
        Sur vos indications, voilà la solution

        use Joomla\CMS\Factory;
        $user = Factory::getUser();
        $usrId= $user->id;
        $usrname = $user->username;
        $usrIdent= $user->name;
        if ($umsrf>0) {
        setcookie("userId",$usrId, time()+840, '/');
        setcookie("userName",$usrname, time()+840, '/');
        setcookie("userIdent",$usrIdent, time()+840, '/');
        }

        A placer dans le fichier includes/app.php avant la ligne :

        // Execute the application.
        $app->execute();

        Commentaire


        • #5
          cela fonctionnes ?
          tant mieux......
          par contre il manque une ligne dans ton nouveau code .
          A quoi correspond $umsrf ?
          il est dans ta boucle mais pas au dessus.

          Commentaire


          • #6
            Oops

            Il faut lire $usrId.

            use Joomla\CMS\Factory;
            $user = Factory::getUser();
            $usrId= $user->id;
            $usrname = $user->username;
            $usrIdent= $user->name;
            if ($usrId>0) {
            setcookie("userId",$usrId, time()+840, '/');
            setcookie("userName",$usrname, time()+840, '/');
            setcookie("userIdent",$usrIdent, time()+840, '/');
            }

            A placer dans le fichier includes/app.php avant la ligne :

            // Execute the application.
            $app->execute();

            Commentaire


            • #7
              Envoyé par lefabdu51 Voir le message
              bonjour,
              regarde le premier exemple de ce message :
              jfactory est pour joomla 3.
              cela deviens factory pour joomla 4

              https://forum.joomla.fr/forum/dévelo...eaux-namepaces
              Tu as peut être raison. Toutefois...
              J'ai un site Joomla 4 + PHP8.0
              J'utilise le plugin de Lomart pour intégrer du PHP selon le code suivant:

              Bonjour {up php= $user = JFactory::getUser(); echo ($user->guest!=1) ? $user->name : 'invité'; $_SESSION['gcore']['user']['username']=$user->username; $_SESSION['gcore']['user']['name']=$user->name; $_SESSION['gcore']['user']['email']=$user->email;}

              Ca fonctionne très bien.

              Si je remplace JFactory::getUser();= par Factory::getUser();, j'ai une erreur.

              Faut-il penser que le plugin de Lomart traduit JFactory en Factory et n'accepte pas Factory? M'étonnerait…

              ManuelVoileux aime ceci.

              Commentaire


              • #8
                Envoyé par Colnem30 Voir le message
                Ca fonctionne très bien.
                Merci

                Manuel
                --------
                voileux.org

                Commentaire

                Annonce

                Réduire
                Aucune annonce pour le moment.

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X