Ich habe 2 Aktionen in der gleichen Controller. Ich finde ein Problem beim Übergeben von geposteten Werten von der ersten Aktion an die zweite. Ich habe versucht, Forward-Methode http://symfony.com/doc/current/controller/forwarding.htmlGebuchte Werte von einer Aktion zu einer anderen in der gleichen Controller in Symfony übergeben
BTW beide Aktionen (die "Weiterleitung" und die "weitergeleitet an") haben Formulare mit Übermittlungen.
Problem ist, ich konnte nicht auf die Variable "$ param1" in der zweiten Aktion zugreifen. Es geht immer null.
Gibt es etwas, was ich hier verpasst habe?
Hier ist mein Code:
Dies ist die erste Aktion:
/**
*
* @Route("/new1", name="command_check1")
*/
public function check1Action(Request $request)
{
$host = new Host();
$form = $this->createFormBuilder($host)
->add("iPaddress", TextType::class)
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
$a= $form["iPaddress"]->getData(); //$a= '127.0.0.1'
**$this->forward('AcmeBundle:Command:check2', array('param1' => $a));**
if($this->pingAction($a)==true){
return $this->redirectToRoute('command_check2'); }
}
return $this->render('host/new1.html.twig', array(
'host' => $host,
'form' => $form->createView(),));
}
Dies ist die zweite Aktion:
/**
*
* @Route("/new2", name="command_check2")
*/
public function check2Action(Request $request, **$param1**)
{
**var_dump($param1); // here i can get the posted value $param1= '127.0.0.1'**
$host = new Host();
$form = $this->createFormBuilder($host)
->add("login", TextType::class)
->add("password", TextType::class)
->getForm();
$form->handleRequest($request);
**var_dump($param1); // until here it works good $param1= '127.0.0.1'**
if ($form->isSubmitted() && $form->isValid())
{
**// the problem is here after submitting the 2nd form
var_dump($param1); // $param= null**
$b= $form["login"]->getData();
$c= $form["password"]->getData();
}
return $this->render('host/new2.html.twig', array(
'host' => $host,
'form' => $form->createView(),));
}
Warum möchten Sie das tun? Forwarding ist in Symfony keine gute Übung. – COil
Ich habe keine andere Lösung gefunden, also habe ich die Forward-Methode ausprobiert. Hast du eine Idee, wie kann ich es anders machen? – User