Bonjour j'ai un problème CSRF, j'ai un formulaire que j'utilise q'un seul champs d'un formType, le formulaire fonctionne par contre j'ai l'erreur CSRF qui s'affiche au dessus du formulaire.
voici mon formType
dans mon formulaire je n'utilise que cette méthode
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
27
28
29
30
31
32
33
34
35 <?php namespace Kod\PrestationBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class TravauxType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('travaux','text') ->add('prixHT','money') ->add('unite','integer') ->add('remarque','text'); ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Kod\PrestationBundle\Entity\Travaux' )); } public function getName() { return 'kod_prestationbundle_travauxtype'; } }
voici mon ma méthode controlleur qui génère ce formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ->add('travaux','text')
et voici ma vu
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
27
28
29
30 public function findAction(Request $request) {//rechercher travaux $travaux = new Travaux(); $form = $this->createForm(new TravauxType(), $travaux); $form->bind($request); if ($form->isValid()) { $saisie = $travaux->getTravaux(); $em =$this->getDoctrine()->getRepository('KodPrestationBundle:Travaux'); $resultat = $em->findTravaux($saisie); $this->get('session')->setFlash('flash_info', "résultat de la recherche de:".$saisie); return $this->render('KodPrestationBundle:Travaux:find.html.twig', array( 'form' => $form->createView(), 'travaux' => $resultat, 'couleur' => $this->bleu, )); } $this->get('session')->setFlash('flash_info', "recherche de travaux "); return $this->render('KodPrestationBundle:Travaux:find.html.twig', array( 'form' => $form->createView(), 'travaux' => "", 'couleur' => $this->bleu, )); }
Je sais que le token permet de protéger le formulaire mais je ne sais pas comment m'y prendre pour ne plus avoir ce message d'erreur.
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 <form action="{{path('travaux_find')}}" method="post" {{form_enctype(form)}}> <!-- Les erreurs générales du formulaire. --> {{ form_errors(form) }} <!-- Génération du label. --> {{ form_label(form.travaux, "Titre de l'article") }} <!-- Affichage des erreurs pour ce champ précis. --> {{ form_errors(form.travaux) }} <!-- Génération de l'input. --> {{ form_widget(form.travaux) }} {{ form_widget(form._token) }} <input type="submit" value="Rechercher"/> </form>
je vous remercie d'avance pour la réponse
Partager