Problème variable de session

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

  • ossepove
    a répondu
    Merci pmleconte et roland_d_alsace pour votre aide.

    Laisser un commentaire:


  • roland_d_alsace
    a répondu
    Envoyé par ossepove Voir le message
    Bonjour à tous,
    Je suis débutant sur Joomla et, dans le cadre du développement d'un composant, je rencontre un souci avec l'utilisation de la variable de session.

    Voici le code figurant dans la page de base du composant

    Code PHP:
    $session =& JFactory::getSession();
    if(isset(
    $session))
    {
    echo 
    "la session existe";
    }
    else{
    echo 
    "pas de session";
    }

    if(!isset(
    $session->name))
    {
    $session->set('name',"TOTO");
    }
    else
    {
    echo 
    "existe déjà";
    }
    $controller JControllerLegacy::getInstance('InfoDocument');
    $controller->execute(JFactory::getApplication()->input->get('task'));
    $controller->redirect(); 
    Je ne comprends pas pourquoi à chaque rechargement de la page, je ne passe pas dans else du second if.

    Merci d'avance pour votre aide
    Hello.

    Tu ne peux pas tester "session->name".

    $session->set('name',"TOTO");
    ne crée par une propriété name de $session
    (ce serait idiot d'avoir une méthode spécifique du framework pour faire cela).

    La méthode set est + compliquée que cela (en fait elle crée un objet de la classe JObject dans l'instance de classe où elle est appelée).

    Pour tester si 'name' a déjà été défini, et donc fait l'objet d'un set au préalable (donc dans ton cas si la variable de session a déjà été crée) tu peux utiliser un get avec une valeur par défaut, puis tester cette valeur par défaut.
    Voir : https://api.joomla.org/cms-2.5/classes/JObject.html
    Dernière édition par roland_d_alsace à 15/12/2018, 18h20

    Laisser un commentaire:


  • pmleconte
    a répondu
    Bonjour,

    Je pense qu'il n'est pas utile de tester la session car elle est créée automatiquement quand vous démarrez votre application. Essayez plutôt le code suivant:

    Code:
    $session = JFactory::getSession();
     $sa = $session->get('name');
     if(!isset($sa))   {
         $session->set('name','test');
      } else{
         echo $sa;
     }
    Pascal

    Laisser un commentaire:


  • ossepove
    a crée un sujet [RÉGLÉ] Problème variable de session

    Problème variable de session

    Bonjour à tous,
    Je suis débutant sur Joomla et, dans le cadre du développement d'un composant, je rencontre un souci avec l'utilisation de la variable de session.

    Voici le code figurant dans la page de base du composant

    Code PHP:
    $session =& JFactory::getSession();
    if(isset(
    $session))
        {
            echo 
    "la session existe";
        }
        else{
            echo 
    "pas de session";
        }

        if(!isset(
    $session->name))
        {
            
    $session->set('name',"TOTO");
        }
    else
    {
        echo 
    "existe déjà";
    }
        
    $controller JControllerLegacy::getInstance('InfoDocument');
        
    $controller->execute(JFactory::getApplication()->input->get('task'));
        
    $controller->redirect(); 
    Je ne comprends pas pourquoi à chaque rechargement de la page, je ne passe pas dans else du second if.

    Merci d'avance pour votre aide
    Dernière édition par ossepove à 15/12/2018, 15h51

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X