Chyba pri vytváraní formulára
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Takeshi
- Člen | 596
Ahojte,
vytvoril som kontaktný formulár na odosielanie e-mailu. Teda poslanie správy na e-mail. Dal som ho na stránku – kontakt, kde odosielanie funguje. Presne ten istý som skopíroval na domovskú stránku, ale tu pri odosielani napísalo error 500, tak nerozumiem, v čom je problém.
public function createComponentContactForm()
{
$form = new Form;
$form->addText("email","E-mail",30)
->addRule(Form::EMAIL,"* zadaj e-mail v správnom formáte !")
->setRequired("* vlož svoj e-mail !");
$form->addtext("subject","Predmet",30)
->setRequired("* vlož predmet správy !");
$form->addTextArea("content","Obsah",35,6)
->setRequired("* vlož svoju správu !");
$form->addSubmit("submit","Odoslať");
$form->onSuccess[] = callback($this,'successFormSubmitted');
return $form;
}
public function successFormSubmitted(Form $form)
{
$values = $form->getValues();
$content = str_replace("\n", "<br/>", $values['content']);
$email = new Message;
$email->setFrom($values['email'])
->addTo('*******')
->setSubject($values['subject'])
->setHtmlBody(
"<table><tr><td><u>E-mail: ".$values['email']."</u></td></tr><tr><td height=\"30\">"
."</td></tr><tr><td><u>Obsah správy:</u></td></tr><tr><td>".$content."</td></tr></table>"
);
$mailer = new SendmailMailer;
$mailer->send($email);
}
a latte …
{form contactForm}
<table>
<tr>
<td align="right">E-mail <red>*</red></td><td>{input email}</td>
</tr>
<tr>
<td align="right">Predmet <red>*</red></td><td>{input subject}</td>
</tr>
<tr>
<td align="right">Obsah <red>*</red></td><td>{input content}</td>
</tr>
<tr><td></td><td>{input submit}</td></tr>
</table>
{/form}
Editoval Takeshi (16. 12. 2016 21:58)