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 :

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

{% 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

yoss_admin_bundle_login:
pattern: admin/login
defaults: { _controller: YossAdminBundle:Admin:login }
_method: GET | POST

Merci au revoir

3 réponses


Vallyan
Réponse acceptée

mais du coup c'est résolu ca ou pas ??

yoss
Auteur

oui c'est résolut dés que j'ai changé mon problème ici et opp il marche :)

cool :)