Add new comment to Silex: kontaktní formulář a posílání e-mailů
Moje kniha o CMS Drupal
Poslední komentáře
- 15 hours 6 minutes ago
- 15 hours 16 minutes ago
- 15 hours 16 minutes ago
- 1 day 6 hours ago
- 1 day 6 hours ago
- 1 day 21 hour ago
- 1 day 21 hour ago
- 1 day 22 hours ago
- 1 day 22 hours ago
- 2 days ago
Nové diskuze
- (2 months 2 weeks zpět)
- (9 months 1 week zpět)
- (10 months 3 weeks zpět)
- (1 year 8 months zpět)
- (1 year 8 months zpět)
- (2 years zpět)
- (2 years zpět)
- (2 years 1 month 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');