2013-03-06 2 views
-1

У меня есть форма HTML/PHP, простая, имя, тема и комментарий, который отправляется на мою почту yahoo, и у меня есть две проблемы, textarea для комментариев также отправляет HTML-теги, если кто-то ставит новую строку (введите) как удалить это, и я получил имя сервера/хоста в теме при получении электронной почты, существует ли способ сделать какой-то универсальный объект, например имя моего сайта или что-то подобное вместо имени хоста?Форма отправки

if(!isset($_POST['submit'])) 
{ 
$ToEmail = '[email protected]'; 
$EmailSubject = 'Pitanje sa site.com'; 
$mailheader = "From :". $_POST["email"]. "\r\n"; 
$mailheader .= "Reply to :". $_POST["email"]. "\r\n"; 
$mailheader .= "Ova poruka sadrzi pitanje postavljeno na www.site.com \r\n"; 
$MESSAGE_BODY = "Ime : " .$_POST["name"]." \r\n"; 
$MESSAGE_BODY .= "Email : " .nl2br($_POST["email"])." \r\n"; 
$MESSAGE_BODY .= "Naslov : " .$_POST["subject"]." \r\n"; 
$MESSAGE_BODY .= "Poruka : " .nl2br($_POST["feedback"])." \r\n"; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
echo "Vaša poruka je uspješno poslana! Kliknite <a href=\"index.html\">ovde</a> za početnu stranu "; 
}; 
+1

Можете ли вы поместить свой PHP-код, который отправляет электронное письмо? –

+0

Я сделал ошибку, она не является предметом проблемы yahoo mali, я получил имя хоста из раздела по почте. поэтому я должен использовать: $ headers. = 'From: Me <[email protected]>'. "\ Г \ п"; как сказал Xaltar ... – wired

ответ

3

ОК, я не очень понимаю ваш вопрос, но здесь идет ...

1) Вы хотите удалить HTML теги? Если это так, используйте функцию strip_tags()

2) Вы должны отправить заголовок. Например, если вы используете mail() функцию, вы должны сделать что-то вроде этого:

$to = '[email protected]'; 
$subject = 'Subject'; 
$message = 'Your Message'; 
$headers = 'From: Your Name <[email protected]>'; 
mail($to, $subject, $message, $headers); 
0

Вы можете отправить электронную почту от Вас форме, как это:

$to = "[email protected]"; 
$subject = "Your subject here"; 
$body = "The comment values here"; 
if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 

удалить HTML новый линии вы можете пользователем функцию str_replace("<br/>","\n", $body);

или лучший способ с использованием регулярных выражений

$body = preg_replace("/<br */?>/","\n",$body); 
0

Я думаю, вы можете использовать «nl2br» для правильного форматирования текстового поля.

Plus, для заголовка, вы можете отформатировать их, чтобы быть, как вы хотите, это должно удалить имя сервера, если вы используете заголовок с «From»:

$headers = 'From: Me <[email protected]>' . "\r\n"; 

затем

mail($to, $subject, $message, $headers); 
Смежные вопросы