Add new comment to Silex: kontaktní formulář a posílání e-mailů
Moje kniha o CMS Drupal
Poslední komentáře
- 1 day 13 hours ago
- 3 days 22 hours ago
- 4 days 21 hour ago
- 4 days 21 hour ago
- 1 week 2 days ago
- 1 week 4 days ago
- 6 months ago
- 6 months ago
- 8 months 2 weeks ago
- 9 months 1 week ago
Nové diskuze
- (1 month zpět)
- (1 month 1 week zpět)
- (7 months 4 weeks zpět)
- (9 months 2 weeks zpět)
- (1 year 7 months zpět)
- (1 year 7 months zpět)
- (1 year 11 months zpět)
- (1 year 11 months zpět)

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');