Problème d'utilisation de $ user = JFactory :: getUser ( )

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

  • Problème d'utilisation de $ user = JFactory :: getUser ( )

    Bonjour,
    J'ai besoin de récupérer l'id de l'utilisateur connecté pour l’utiliser ensuite dans un script,
    J'ai fait cela mais cela provoque une erreur. Fatal error: Class 'JFactory' not found

    Code:
    <?php
    
    $user = JFactory::getUser();
    
    ?>
    Alors, j'ai ajouté cette ligne: defined('_JEXEC') or die; au début du PHP.
    Je n'ai plus le message d'erreur, mais tout ce qui est après le JFactory ne s'affiche plus.

    Comment puis-je utiliser $ user = JFactory :: getUser ( ) ?

    Cordialement.

    Eric
    Dernière édition par Agrepe à 03/07/2016, 08h45

  • #2
    Re : Problème d'utilisation de $ user = JFactory :: getUser ( )

    Bonjour,
    Alors, j'ai ajouté cette ligne: defined('_JEXEC') or die; au début du PHP.
    Je n'ai plus le message d'erreur, mais tout ce qui est après le JFactory ne s'affiche plus.
    Je pense que c'est surtout ce qui est après le die qui ne s'affiche plus.
    Cela voudrait dire que ton script est exécuté en dehors du framework Joomla!

    Sans en savoir plus sur le type de script que tu mets en place, difficle de t'aider
    UP, le plugin universel à découvrir sur https//up.lomart.fr
    bgMax
    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

    Commentaire


    • #3
      Re : Problème d'utilisation de $ user = JFactory :: getUser ( )

      Bonjour,
      Merci beaucoup pour ton aide.
      Pour tester ce que je fais, j'ai réduis à sa plus simple expression mon fichier.
      J'essaye déjà de voir ce que récupère la variable.

      Voici par exemple là où ça bloque:

      <?php
      defined('_JEXEC') or die;
      $user = JFactory::getUser();
      echo $user;
      ?>


      <input type="text" name="id" id="IDduGROUP" value="<?php echo $user; ?>;>
      • L'echo n'affiche rien.
      • L'INPUT non plus.


      J'ai besoin d'affiche $user dans l'INPUT.

      D'après ce que je comprends, defined('_JEXEC') ne charge pas la framework ?

      Cordialement.

      Eric
      Dernière édition par Agrepe à 03/07/2016, 09h24

      Commentaire


      • #4
        Re : Problème d'utilisation de $ user = JFactory :: getUser ( )

        Comment appelles tu ton script ?

        D'après ce que je comprends, defined('_JEXEC') ne charge pas la framework ?
        Non, il teste qu'il soit en cours et si ce n'est pas le cas il le fait mourir (die)
        UP, le plugin universel à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Re : Problème d'utilisation de $ user = JFactory :: getUser ( )

          C'est bien ce que j'ai compris, mais je débute, alors parfois il me faut un peu de temps pour comprendre.

          J'ai trouvé d'où vient mon soucis.
          C'est que je chargeais ma page comme une page PHP.
          J'ai supprimé:

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <title>Enregistre le fichier</title>
          <link rel="stylesheet" type="text/css" href="css/principal.css">

          Au début de mon PHP, j'ai de meilleurs résultats.

          J'aurai plus de temps en fin de journée pour revoir tout ça.
          Bien cordialement et encore merci.

          Eric

          Commentaire


          • #6
            Re : Problème d'utilisation de $ user = JFactory :: getUser ( )

            Le mieux est d'être déjà dans le framework Joomla. Soit dans le cadre d'une extension créée selon les règles ou en ajoutant du code php dans un article, mais sinon il faut le charger en tête de son script

            Code PHP:
            /* Chargement framework Joomla */
            // Definition constante d'execution
            define('_JEXEC'1);
            // Definition chemin vers Joomla
            define('JPATH_BASE''../../');  // <--- a adapter en fonction de l'emplacement de son script !!!
            // Definition des variables globales de chemin d'acces
            require_once(JPATH_BASE.'includes/defines.php');
            require_once(
            JPATH_BASE.'includes/framework.php');
            // creer l'objet application
            $app JFactory::getApplication('site');
            // Test sur utilisateur
            $user JFactory::getUser();
            //var_dump($user);
            if ($user->guest) { 
                die(
            'Acces interdit');

            UP, le plugin universel à découvrir sur https//up.lomart.fr
            bgMax
            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X