Add new comment to Silex: kontaktní formulář a posílání e-mailů

návštěvník

Všiml jsem si také, že píšete, že se chyba objevila po zprovoznění formuláře. Do té doby vše fungovalo?
Pokud ano, tak ověřte zmíněné "pořadí jednotlivých app registrací nebo ve stažených componentách"
<?php
require_once ...;
$app = new Silex\Application();
$app->register(...;
$app->register(...;
$app->register(...;

use ...;
use ...;
use ...;

$app->get(...;
$app->get(...;
# u kontaktu jak je uvedeno v článku:
$app->match('kontakt', function (Request $request) use ($app) {
$form = $app['form.factory']->createBuilder('form')
->add('name', 'text', array('attr' => array('class' => 'form-control') ))
->add('email', 'email', array('attr' => array('class' => 'form-control') ))
->add('subject', 'text', array('attr' => array('class' => 'form-control') ))
->add('message', 'textarea', array('attr' => array('class' => 'form-control', 'rows' => 10,) ))
->getForm();
if ('POST' == $request->getMethod()) {
$form->bind($request);
$data = $form->getData();
if ($form->isValid()) {
$body = $app['twig']->render('mail.html.twig', array('data' => $data));
$app['mailer'] = $app->share(function ($app) {
return new \Swift_Mailer($app['swiftmailer.transport']);
});
$message = \Swift_Message::newInstance()
->setSubject($data['subject'])
->setFrom($data['email'])
->setTo('jan.polzer@gmail.com')
->setBody($body);
$app['mailer']->send($message);
$app['session']->getFlashBag()->add('notice','Zpráva byla odeslána');
return $app->redirect('kontakt');
}
}
return $app['twig']->render('kontakt.html.twig', array(
'form' => $form->createView(),
));
})->bind('kontakt');

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Poslední komentáře