Задать вопрос
@alekseypeshkur

Как подключить форму отправки email?

Всем привет !) Есть такая форма на сайте , как сделать её работоспособной ?

<form action="1.php" method="post" >
                <div class="row">
                    <div class="col-md-6">
                        <div class="input-contact">
                            <input type="text" name="name">
                            <span>ваше имя</span>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="input-contact">
                            <input type="text" name="email">
                            <span>ваш email</span>
                        </div>
                    </div>
                    
                    <div class="col-md-12">
                        <div class="textarea-contact">
                            <textarea name="message"></textarea>
                            <span>сообщение</span>
                        </div>
                    </div>
                    <div class="col-md-12">
                        <a href="#" class="btn btn-box">отправить</a>
                    </div>
                </div>
            </form>


<?php header("Content-type: text/html; charset=utf-8");

  $text = "<b>subject</b>: ".$_POST['subject']."<br>";
  $text .= "<b>name</b>: ".$_POST['name']."<br>" ;
  $text .= "<b>email</b>: ".$_POST['email']."<br>";
  $text .= "<b>message</b>: ".$_POST['message']."<br>";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
  mail('mail@mail.ru', 'Заголовок письма', $text, $headers);

?>
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
on_click
@on_click
По сути Валентин уже ответил, вот вам полный код.

app/index.php
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
</head>
<body>
	<form action="#" id="form">
		<div class="row">
			<div class="col-md-6">
				<div class="input-contact">
					<input type="text" name="name">
					<span>ваше имя</span>
				</div>
			</div>
			<div class="col-md-6">
				<div class="input-contact">
					<input type="text" name="email">
					<span>ваш email</span>
				</div>
			</div>
			
			<div class="col-md-12">
				<div class="textarea-contact">
					<textarea name="message"></textarea>
					<span>сообщение</span>
				</div>
			</div>
			<div class="col-md-12">
				<button class="btn btn-box">отправить</button>
			</div>
		</div>
	</form>


	<script>
		jQuery(document).ready(function($) {
			$("#form").on('submit', function(event) {
				event.preventDefault();

				$.ajax({
					url: '1.php',
					type: 'POST',
					data: $('#form').serialize(),
					success: function(data) {
						alert(data);
					}
				});
			});
		});
	</script>
</body>
</html>

app/1.php
<?php

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = 'Тема сообщения';

$to = 'email@site.ru';
$from = 'TITLE <no-reply@site.ru>';

$error = "";

if (isset($_POST['message'])) {

	if (!$email) {
		$error .= "Введите ваш email";
	}

	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=UTF-8\r\n";
	$headers .= "From: ".$from."\r\n";
	$headers .= "Reply-To: ".$from."\r\n";

	$body = "";
	
	if ($name) {
		$body .= 'Name: '.$name."<br>";
	}
	if ($email) {
		$body .= 'Email: '.$email."<br>";
	}
	if ($message) {
		$body .= 'Message: '.$message;
	}

	if (!$error) {
		if (mail($to, $subject, $body, $headers)) {
		    echo 'OK';
		} else {
		    echo 'Unable to send email. Please try again.';
		}
	} else {
		echo $error;
	}

}
Ответ написан
romanko_vn
@romanko_vn
<form action="1.php" method="post" id="form">
<a href="#" class="btn btn-box" onclick="sendForm()">отправить</a>


function sendForm(){
	event.preventDefault();

	$.ajax({
		url: 'form.php',
		type: 'POST',
		data: $('#form').serialize(),
		success: function(response) {
			$('#result').html(response);
		}
	});	
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы