Bonjour à tous !
Débutant dans Symfony2, j'ai un soucis sur les exceptions.
J'ai un formulaire que l'internaute validera après avoir rempli tous les champs. Il sera ensuite redirigé vers une page de confirmation.
Or, j'aimerais que cette page ne soit pas accessible si l'internaute n'a pas validé le formulaire, c'est à dire en faisant un copier-coller de l'url par exemple.
Pour cela, je vous montre le code que j'ai fait :
Dans le controleur, pour la création et la validation du formulaire :
Ce que j'ai essayé dans la fonction de confirmation pour la page confirm :
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 public function ajouterAction() { $demande = new Demande; $form = $this->createFormBuilder($demande) ->add('objet', 'text') ......... ->getForm(); $request = $this->get('request'); if ($request->getMethod() == 'POST') { $form->bind($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($demande); $em->flush(); return $this->redirect($this->generateUrl('monsite_confirm')); } } return $this->render('MonSiteBundle:Site:ajouter.html.twig', array( 'form' => $form->createView(), )); }
J'ai aussi essayé if (isset($_POST['submit'])). J'ai essayé beaucoup de choses et un peu dans tous les sens...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function confirmAction() { if ($_SERVER['REQUEST_METHOD'] == 'POST') { echo 'ok'; } else { throw new NotFoundHttpException('Impossible de trouver la page.'); } return $this->render('MonSiteBundle:Site:confirm.html.twig'); }
Peut être que ce n'est pas du tout comme ca qu'il faut s'y prendre.
Merci pour votre aide.
Partager