我是 Symfony 的初學者 :)
我用 Symfony 6 創建了一個網站。我有一個聯系表格頁面。這個表單很好用,但是提交后,如果我重新加載頁面,這個表單會再次提交。
在這里,ContactController
#[Route('/contact', name: 'contact')]
public function contact(ManagerRegistry $doctrine, Request $request, MailerInterface $mailer): Response
{
$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$email = (new Email())
->to("[email protected]")
->from($form->get("email")->getData())
->subject($form->get("title")->getData())
->text('Sending emails is fun again!')
->html('<p>See Twig integration for better HTML integration!</p>');
try {
$mailer->send($email);
$resultMail = "Le mail est envoyé ! Pensez à consulter vos spams.";
$this->addFlash(
"success",
"Votre message est bien envoyé."
);
} catch (TransportExceptionInterface $e) {
// some error prevented the email sending; display an
// error message or try to resend the message
$resultMail = "Il y a eu une erreur lors de l'envoi de l'email.";
$error = new Contact;
$error->setEmail($form->get("email")->getData());
$error->setTitle($form->get("title")->getData());
$error->setMessage($form->get("message")->getData());
$error->setDate(new DateTime());
$error->setError($e);
$em = $doctrine->getManager();
$em->persist($error);
$em->flush();
$this->addFlash(
"error",
"Une erreur s'est produite lors de l'envoi de votre message."
);
}
}
return $this->render('contact/contact.html.twig', [
"pageTitle" => "Contact",
"ssTitle" => "Vous avez besoin de mes services ?",
"contact_form" => $form->createView()
]);
}
如何解決?這可以在提交后重定向到聯系錨嗎?(/聯系表) ?
問候
uj5u.com熱心網友回復:
在這段代碼之后
$mailer->send($email);
$resultMail = "Le mail est envoyé ! Pensez à consulter vos spams.";
$this->addFlash(
"success",
"Votre message est bien envoyé."
);
你可以放置類似的東西
return $this->redirectToRoute($routeName);
如果$routeName表單包含有效資料并且發送了郵件,您希望將用戶重定向到的路由名稱(不是 URL)在哪里
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/517428.html
標籤:php交响乐邮递员
上一篇:用于在Symfony6專案中的Twig檔案中自動完成HTML標記的VS代碼擴展
下一篇:根據選擇型別形成顯示影像
