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