| Autor | Zpráva | ||
|---|---|---|---|
| PetraPP Profil |
#1 · Zasláno: 14. 11. 2014, 16:00:41
Formulář odešlu a PHP script zpracuje. Nechci ale používat phpmailer kvůli kontaktnímu formuláři. Problém mám pouze při odeslání textu z Textarea. Když udělám odřádkování (enterem), tak v emailu pak dostávám znaky \r\n. Přitom NL2BR() na to nereaguje a to používám k tomu ještě Content-Type: text/html;
// ošetříme
$form_text = $_POST["text"];
$form_text = strip_tags($form_text);
$form_text = htmlspecialchars($form_text);
$form_text = mysql_real_escape_string($form_text);
// Odešleme přes mail()
$to = "info@example.com";
$subject = 'Kontakt z formuláře';
$subject = sprintf('=?UTF-8?B?%s?=',base64_encode($subject)); // podpora diakritiky
$from_jmeno = sprintf('=?UTF-8?B?%s?=',base64_encode($form_jmeno)); // podpora diakritiky
$headers = 'From: '.$from_jmeno.' <'.$form_email.">\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: text/html; charset=UTF-8'."\n";
$headers .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$headers .= nl2br($form_text) . "\n";
mail($to, $subject,"", $headers); |
||
| Jan Tvrdík Profil |
Nechápu, proč ten mail posíláš jako
text/html, když žádné HTML značky nepoužíváš? Když ho pošleš jako text/plain, tak žádné nl2br potřebovat nebudeš.
Navíc to ošetření máš nesmyslné, přečti si něco o escapování. Až teď jsem pochopil, na co se ptáš. Dělá to funkce mysql_real_escape_string, která tam nemá co dělat.
|
||
|
Časová prodleva: 12 let
|
|||
0