Bonjour,
j'ai actuellement un problème avec symfony et la création de formulaire, je vous explique:
j'ai créé un formulaire de contact et lorsque je veux envoyer le mail j'ai des données vides (qui devrait contenir les données des champs que l'utilisateur à rempli)
voila mon controlleur:
mon formulaire de contact
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 <?php # src SiteBundle/Controller/ContactController.php namespace SiteBundle\Controller; use SiteBundle\Entity\Contact; use SiteBundle\Form\Type\ContactType; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Session\Session; class ContactController extends Controller { public function indexAction(Request $request) { $form = $this->createForm(ContactType::class, new Contact()); if ($request->getMethod() == 'POST') { $form->handleRequest($request); $data = $form->getData(); $mail = null; switch ($data->getId()){ case 1: $mail = 'antoine.lavallade@gmail.com'; #$mail = 'didier-lebrun@sfr.fr'; break; case 2: $mail = 'marie-helene.remond@orange.fr'; break; case 3: $mail = 'jp.damoiseau@perspective-investissement.com'; break; } var_dump($data); $message = \Swift_Message::newInstance() ->setContentType('text/html') ->setSubject($data->getSubject()) ->setFrom($data->getContactInformation()) ->setTo($mail) //->setTo($data['recipient']->getName()) ->setBody($data->getMessage()); //if($form->isValid()) { if($this->get('mailer')->send($message)) { echo('<p>envoie réussi</p>'); } else { echo('<p>raté</p>'); } //} //mail($mail, $data->getSubject(), $data->getMessage()); //$this->addFlash('notice', 'Merci de nous avoir contacté, nous répondrons à vos questions dans les plus brefs délais.'); //$this->addFlash('notice', 'Merci de nous avoir contacté, nous répondrons à vos questions dans les plus brefs délais.'); //return $this->redirectToRoute('site_homepage'); } //$this->addFlash('notice', 'Vous n\'avez pas rempli le formulaire correctement');*/ return $this->render('SiteBundle:Contact:index.html.twig', array( 'form' => $form->createView() )); } } ?>
avec ce que me renvoie mon var_dump
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 <?php # src/SiteBundle/Form/Type/ContactType.php namespace SiteBundle\Form\Type; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; class ContactType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('contactInformation', EmailType::class) ->add('subject', TextType::class) ->add('message', TextareaType::class) ->add('valider', SubmitType::class, array('label' => 'Valider')) ->add('annuler', SubmitType::class, array('label' => 'Annuler')); } /** * @return string */ public function getName() { return 'Contact'; } } ?>
est ce que quelqu'un sait pourquoi mon formulaire est vide?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 object(SiteBundle\Entity\Contact)[244] private 'id' => null private 'contactInformation' => null private 'recipient' => null private 'subject' => null private 'message' => null
Partager