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: 9 let
|
0