je débute avec Symfony petit à petit, mais j'ai pas vraiment le temps d'assimiler tous les détails , du coup j'aimerais bien que vous me guidiez un peu si vous connaissez cette techno, ce serait vraiment sympas !
J'ai une entité User généré par doctrine avec son équivalent en BDD.
J'ai également une classe UserType générant un formulaire pour mes utilisateurs.
- Code: Tout sélectionner
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('firstname', TextType::class)
->add('lastname', TextType::class)
->add('phone', TextType::class)
->add('email', EmailType::class)
->add('birthdate', BirthdayType::class)
->add('newsletter', RadioType::class, array('required' => false))
->add('password', PasswordType::class)
->add('envoyer', SubmitType::class)
;
}
Avec ça, je pense avoir tous les outils nécessaires, mais je ne sais pas comment faire
Voici ce que je fais figurer dans mon contrôleur
Je récupère la liste de mes utilisateurs en BDD via mon entité User et je passe cette liste en paramètre à mon template contenant le formulaire de connexion.
- Code: Tout sélectionner
public function connexionAction()
{
$listUsers = $this->getDoctrine()->getManager()->getRepository('TCSClubTennisBundle:User')->findAll();
return $this->render('TCSClubTennisBundle:Default:connexion.html.twig', array('listUsers' => $listUsers));
}
connexion.html.twig
C'est dans ce fichier que j'affiche le formulaire, mais je ne sais pas comment faire pour vérifier que les informations entrées dans le formulaire (mail et mot de passe) correspondent bien à l'un des user que je fais passer par la liste).
- Code: Tout sélectionner
{% block tcs_body %}
<div class="container">
<h1 class="page-header">Connexion</h1>
<form class="form-horizontal">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-xs-4">
<input type="text" class="form-control" placeholder="Ex : tennis.club@stephannois.com">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Mot de passe</label>
<div class="col-xs-4">
<input type="password" class="form-control" id="inputPassword3" placeholder="Tapez votre mot de passe">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Se connecter</button>
</div>
</div>
</form>
<button type="button" class="btn btn-link"><a href="{{ path('tcs_club_tennis_inscription') }}">Pas encore membre ? Cliquez ici pour vous inscrire.</a></button>
</div>
{% endblock %}
Merci pour le coup de main !