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