2015-02-13 2 views
-4

Я написал страницу php, которая отправляет данные формы на мой адрес электронной почты. Проблема заключается в том, что когда пользователь нажимает кнопку «Отправить», он автоматически перемещается на пустой php-страницу. Я хочу, чтобы вместо перехода на пустую страницу php, пользователь остался на той же странице, а вместо полей формы он увидел сообщение «спасибо, что связался с нами». Как я могу это сделать? и как я могу стилизовать это сообщение?отправка данных формы по электронной почте с помощью php

Кроме того, все данные формы отображаются в теме письма (а не в тексте сообщения). есть ли способ изменить его?

Вот PHP:

<?php 

    error_reporting(E_ALL); 
    ini_set("display_errors", "On"); 

    $subject="Message from Web"; 
    $sender=$_POST["user-name"]; 
    $senderEmail=$_POST["email"]; 
    $senderPhone=$_POST["phone"]; 
    $senderCompany=$_POST["company"]; 
    $message=$_POST["message"]; 

    $mailBody="Name: $sender\nEmail: $senderEmail\nPhone: $senderPhone\nCompany: $senderCompany\n\n$message"; 

    mail('[email protected]', $mailBody, $sender); 

    $thankYou="<p>Thank you! Your message has been sent.</p>"; 

?> 
+1

Можете ли вы дать нам какой-нибудь код? –

+0

Я бы предложил вам использовать ajax для отправки данных на ваш php. Чтобы добавить тему в свой адрес электронной почты, нам нужно будет увидеть, как ваш php-код узнает, как вы указали адрес электронной почты. Мы не можем работать слепыми. Я собираюсь предположить, что этот PHP-код является копией/вставкой, так как вы не знаете, как вставлять переменные/данные в тело письма. – NewToJS

+0

Я отредактировал сообщение. Я предпочитаю не использовать AJAX, потому что я не знаю, как его использовать. – user3355028

ответ

0
<form method="post"> 
<input type="text" name="to-e-mail"> 
<input type="text" name="subject"> 
<textarea name="message"> 
</textarea> 
<input type="submit" value="send"> 
</form> 
<?php 
if($_SERVER['REQUEST_METHOD'] == 'POST'){ 
$headers = 'From: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($_POST['to-e-mail'],$_POST['subject'],$_POST['message'],$headers); 
print 'thank you for contacting us'; 
} 

?> 

Очень простой пример того, как отправить почту с PHP. Проверьте требования безопасности.

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