2016-03-09 2 views
1

У меня нет опыта работы с PHP, из-за этого я понятия не имею, что даже искать. Я делаю контактную форму для союза в Норвегии.Форма обратной связи Проблемы с PHP

<?php 

$first_name = $_POST{'first_name'}; 
$last_name = $_POST{'last_name'}; 
$mail = $_POST{'mail'}; 
$message = $_POST{'message'}; 
$to = "[email protected]"; 
$subject = "New Message"; 
mail ($to, $subject, $message, "From: " . $first_name . $last_name); 
echo "Your Message has been sent"; 

?> 

Код работает нормально. Но мне нужна дополнительная функция. Я хочу, чтобы сообщение электронной почты и имя от отправителя отображались в содержании письма.

Что-то вроде этого:

От: Брайан Смит
Электронная почта: [email protected]
"Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение Сообщение"

Сейчас только сообщение появляется в сообщении по почте.

ответ

0

Вы используете concatentation, чтобы присоединиться к струнам вместе. Давайте посмотрим:

$message = "FROM: $first_name $last_name<br/>E-mail: $to<br/><br/>$_POST['message']; 

Убедитесь, что это появляется после того, как вы заявляете $to = "[email protected]"

+0

в этом случае нужен html-заголовок – devpro

0

Вы можете легко конкатенировать имя и адрес электронной почты в вашем сообщении.

$message = 'From'.$_POST['first_name'].' '.$_POST['last_name']; 
$message .= 'Email'.$_POST['email']; 
$message .= $_POST['message']; 

Добавить html-теги соответствующим образом. Счастливый Coding

0
$to='[email protected]'; 
    $from = $_POST['mail']; 
    $first_name = $_POST['first_name']; 
    $second_name = $_POST['lats_name] 
    $subject="message from : ".$name; 
    $message = "message from : ".$from."\r\n"; 
    $message.=$_POST['message]; 
    $message=wordwrap($message,70,"<br>"); 
    $message=str_replace("\n.","\n..",$message); 
    $headers='From: [email protected]'; 
    $mail=mail($to, $subject, $message , $headers); 
    if ($mail==true) 
     echo "message sent"; 
0

Я думаю, что вы пытаетесь достичь, это что-то вроде этого:

Bryan Smith <[email protected]> 

Try, чтобы сделать ваш заголовок, как этот

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From: Bryan Smith <[email protected]>' . "\r\n"; 

Подробнее here.

0

Вам необходимо объединить ваше сообщение вместе с From и E-mail.

Пример:

$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$mail = $_POST['mail']; 
$message = "From: ".$first_name. " ".$last_name. "\r\n"; // ADD THIS 
$message .= "E-mail: ".$mail. "\r\n"; // ADD THIS 
$message .= '"'.$_POST['message'].'"'; 

$to = "[email protected]"; 
$subject = "New Message"; 
if(mail($to, $subject, $message, "From: " . $first_name . $last_name)) 
    echo "Your Message has been sent"; 

Я также добавление mail() внутри if condition, если должно быть отображено сообщение отправлено, чем сообщение.

Смежные вопросы