IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Problème Exception Symfony [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 8
    Par défaut Problème Exception Symfony
    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 :
    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(),
        ));
    }
    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
    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');
    }
    J'ai aussi essayé if (isset($_POST['submit'])). J'ai essayé beaucoup de choses et un peu dans tous les sens...

    Peut être que ce n'est pas du tout comme ca qu'il faut s'y prendre.

    Merci pour votre aide.

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    yooo man rastafariiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii,




    tu fais un redirect donc il n'y a plus de POST(donc plus tes données de formulaire) dans la requête de redirection

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 8
    Par défaut
    Ah parfait !! Merci beaucoup pour ton aide

    J'ai remplacé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->redirect($this->generateUrl('monsite_confirm'));
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->render('MonSiteBundle:Site:confirm.html.twig');

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [System.IO.Ports] Problème Exception
    Par goddet dans le forum C#
    Réponses: 6
    Dernier message: 11/09/2007, 10h23
  2. [C#] Problème exception mscorlib.dll
    Par moulefrite dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/07/2007, 15h21
  3. [1.x] Problème installation symfony
    Par Nout dans le forum Symfony
    Réponses: 3
    Dernier message: 27/05/2007, 22h26
  4. problème exception java.io.IOException
    Par boulette85 dans le forum Langage
    Réponses: 4
    Dernier message: 01/05/2007, 11h30
  5. Problème Exception EOFException
    Par jason69 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 04/09/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo