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 :

connexion symfony2: test des données [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Par défaut connexion symfony2: test des données
    salut les amis, j'ai créer une fonction login dont je teste les logins et les passwords avec ceux dans la base de données mais j'ai rencontré un problème qui me gène, la moitié de la fonction fonctionne et l'autre non, je vous explique un peu: quand je saisit un username et un password correctes il faut qu'un message "hello $username " s'affiche et si le username et le login sont faux donc un message "hello failed" s'affiche.
    Alors mon problème c'est que toujours il m'affiche qu'un Hello failed

    Voilà ma fonction :

    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
    26
    class AdminController extends Controller
    {
             public function loginAction(Request $request)
             {
     
     
            if ($request->getMethod() == 'POST') {
     
                $username = $request->get('username');
                $password = $request->get('password');
                $em = $this->getDoctrine()->getEntityManager();
                $repository = $em->getRepository('YossAdminBundle:Administrateur');
     
                $user = $repository->findOneBy(array('username' => $username, 'password' => $password));
     
                if ($user) {
                    return $this->render('YossAdminBundle:Admin:login.html.twig', array('name' => $user->getUsername()));
                } else {
                    return $this->render('YossAdminBundle:Admin:login.html.twig', array('name' => 'failed'));
     
     
                }
                return $this->render('YossAdminBundle:Admin:login.html.twig');
            }
        }
    }
    et voilà sa vue: login.html.twig

    Code html : 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
    26
    27
    28
    29
    30
    31
    {% extends 'YossAdminBundle::layout.html.twig' %}
     
    {% block body %}
     
                <div id="right_container">
     
                        <form class="form-signin" method="POST" action="login">
                            <h2 class="form-signin-heading">Please sign in </h2> <br>
                            <div id="loginRow">
                                {% trans %}Username{% endtrans %} :
                                <input type="text" name="_username"  value="" placeholder="email or username"  />  <br>
                            </div>
                            <div id="loginRow">
                                {% trans %}Password{% endtrans %} :
                                <input type="password" name="_password" value=""  placeholder="ton mot de passe ici" />
                            </div>
                            <div id="loginRow">
                                <button type="submit" name="login" class="btn btn-large btn-primary">{% trans %}Enter{% endtrans %}</button> <br>
                            </div>
     
     
                        </form>
                    </div>
     
        {% if name is defined %}
            <div class="alert-info fade in">
             <strong> Hello {{ name }} </strong>
            </div>
        {% endif %}
     
    {% endblock %}

    et voilà mon route : routing.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    yoss_admin_bundle_login:
    pattern: admin/login
    defaults: { _controller: YossAdminBundle:Admin:login }
    _method: GET | POST

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    bonjour,

    les champs de ton formulaire se nomment _username et _password :

    Code php : 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
    26
    27
     
    class AdminController extends Controller
    {
             public function loginAction(Request $request)
             {
     
     
            if ($request->getMethod() == 'POST') {
     
                $username = $request->request->get(_'username');
                $password = $request->request->get('_password');
                $em = $this->getDoctrine()->getManager();
                $repository = $em->getRepository('YossAdminBundle:Administrateur');
     
                $user = $repository->findOneBy(array('username' => $username, 'password' => $password));
     
                if ($user) {
                    return $this->render('YossAdminBundle:Admin:login.html.twig', array('name' => $user->getUsername()));
                } else {
                    return $this->render('YossAdminBundle:Admin:login.html.twig', array('name' => 'failed'));
     
     
                }
                return $this->render('YossAdminBundle:Admin:login.html.twig');
            }
        }
    }

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Par défaut
    merci beaucoup ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de connexion à la base des données
    Par painouch21 dans le forum JDBC
    Réponses: 6
    Dernier message: 27/04/2009, 19h01
  2. [MySQL] a propos le test des donnés dans un formulaires
    Par senda dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/02/2009, 09h07
  3. chaine de connexion et récupération des données
    Par msahmi dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 29/04/2008, 09h22
  4. Erreur de connexion à une base des données
    Par demando77 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/04/2008, 12h37
  5. Connexion et structuration des données de DB2
    Par MondherBeldi dans le forum DB2
    Réponses: 7
    Dernier message: 14/03/2008, 12h48

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