IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Variables de session


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Par défaut Variables de session
    Bonsoir, j'ai beau lire les différents tuto présent sur le net mais je n'arrive pas à résoudre mon problème.
    J'ai un formulaire de connexion géré par FosUserBundle. Je souhaite récupéré dans un controller situé plus loin dans l'arborescence de se site, le nom d'une personne que je récupère dans une bdd suivant le login tapé.
    En ce qui concerne le coté SQL de la chose, aucun souci. Le souci interviens quand je souhaite récupéré cet variable de session et l'affiché dans ma vue.

    Voilà le code que j'ai placé dans loginController :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public function loginAction()
        {
     
            $session = new Session ();
            $session->start();
            $request = Request::createFromGlobals();
            $login = $request->request->get('_username');
            \mysql_connect('localhost', 'root','') or die('Erreur de connexion SQL');
            \mysql_select_db('test') or die('Erreur de connexion à la bdd');
            $req = mysql_query("SELECT nom FROM user WHERE username = '$login'");
    	$rep = mysql_fetch_assoc ($req);
            $session->set('nom', $rep['nom']);
            // get the login error if there is one
            if ($this->container->get('request')->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
                $error = $this->container->get('request')->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
            } else {
                $error = $this->container->get('request')->getSession()->get(SecurityContext::AUTHENTICATION_ERROR);
            }
     
            return $this->container->get('templating')->renderResponse('FormLoginBundle:Login:login.html.twig', array(
                // last username entered by the user
                'last_username' => $this->container->get('request')->getSession()->get(SecurityContext::LAST_USERNAME),
                'error'         => $error,
            ));
        }
    Et voilà à quoi correspond le bout de code à l'intérieur mon controller pour récupérer puis passer la variable dans ma vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $request = $this->getRequest();
            $session = $request->getSession();
            $nom = $session->get('nom');
    Le souci c'est qu'il ne s'affiche rien dans ma vue :/

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut
    sans vouloir être pessimiste

    as tu essayé :

    et connais tu les variables prédéfinies en php?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Par défaut
    Je viens de tester le print_r($_SESSION) et il me répond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [_sf2_attributes] => Array ( [_csrf/authenticate] => LSoomnYwowzoGNO7hOZe6JQfGjCIpxuG3BnarS1kekk [_security_main] => C:74:"Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken":473:{a:3:{i:0;N;i:1;s:4:"main";i:2;s:433:"a:4:{i:0;C:30:"Orange\TestBundle\Entity\User":223:{a:9:{i:0;s:88:"a6ULkNJj7sYAzQtkaPhNbww7riIrvxe3dGd57DCiqcg4e+1h5zDZscoi2BD6VMfykoDpHeMpci0LG963o8ee+w==";i:1;s:31:"opxhkd3waggsws4cgoc48g4gww4o88g";i:2;s:6:"hannibal";i:3;s:6:"Hannibal";i:4;b:0;i:5;b:0;i:6;b:0;i:7;b:1;i:8;i:1;}}i:1;b:1;i:2;a:1:{i:0;O:41:"Symfony\Component\Security\Core\Role\Role":1:{s:47:"Symfony\Component\Security\Core\Role\Rolerole";s:9:"ROLE_USER";}}i:3;a:0:{}}";}} ) [_sf2_flashes] => Array ( ) [_sf2_meta] => Array ( [u] => 1400282728 [c] => 1400278329 [l] => 0 ) )
    je ne vois pas le nom récupéré par ma requête dans ce print_r.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut
    sachant tout cela, tu peu surement trouver plus simplement d’où vient ce problème de session

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Par défaut
    Je ne comprends toujours pas pourquoi la variable nom n'existe pas dans $_SESSION. Je pense que cela viens de mon $session->set('nom') mais je ne comprends pas. Peux-tu m'expliquer pourquoi ?

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut
    je ne connais pas spécialement le "framework" que tu utilises. Peu être que la session est en cookies ou ailleurs ?

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo