Bonjour tout le monde,

Bon je suis entrain de développer un formulaire d'inscription sous Symfony avec deux étapes, l'utilisateur doit remplir les champs de la première étape, j'enregistre ces informations en base de données, ensuite je doit le rediriger vers le deuxième formulaire pour remplir les champs de la deuxième étape et je continu l'enregistrement des données.

Pour la première étape tout marche à merveille le problème quand je fait la redirection vers le deuxième controleur pour passer à la deuxième étape je reçois l'erreur suivante :

An exception has been thrown during the rendering of a template ("Error when rendering "http://localhost/pharma/web/app_dev.php/index" (Status code is 302).")

voici le code de mon controller :

class DemandesController extends Controller
{
   public function firststepAction(Request $request,$page){
    $demande = new Demande();
        $form=$this->get('form.factory')->create(DemandeType::class,$demande);
        if($request->isMethod('post') && $form->handleRequest($request)->isValid()){
          $ip = $_SERVER['REMOTE_ADDR'];
            $demande->setIp($ip);
          $demande->setPage($page);
            $em=$this->getDoctrine()->getManager();
            $em->persist($demande);
            $em->flush();
            return $this->redirectToRoute('pharma_demandes_secondstep', array('id' => $demande->getId()));

        }

        return $this->render('PharmaDemandesBundle:Demande:try.html.twig',array('form'=>$form->createView(),'demande'=>$demande));
   }

   public function secondstepAction($id, Request $request){
    $repository=$this->getDoctrine()->getManager()->getRepository('PharmaDemandesBundle:Demande');
    $demande = $repository->find($id);
        $form=$this->get('form.factory')->create(DemandesecondType::class,$demande);
        if($request->isMethod('post') && $form->handleRequest($request)->isValid()){
            $em=$this->getDoctrine()->getManager();
            $em->persist($demande);
            $em->flush();
            return $this->redirectToRoute('pharma_demandes_firststep');
        }

        return $this->render('PharmaDemandesBundle:Demande:addsecond.html.twig',array('form'=>$form->createView()));
   }

}

voici ce que j'ai inséré sur la vu :

{% block try_body %}
{{ render(controller('PharmaDemandesBundle:Demandes:firststep',{'request': app.request,'page':'Accueil'})) }}
{% endblock %}

ça fait plus de 2 semaines je cherche une solution, j'ai vraiment besoin de votre aide les amis, merci.

1 réponse