slogin.info

ihc 468x60 1 1
Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна5 / 5
 
Автор: Администратор
Просмотров: 18732
Теги: php, form, simple, форма, send

 В этой статье мы расскажем о том, как сделать простую, работающую форму обратной связи на PHP.

Первым делом разберемся с файловой структурой, у нас будет главная страница index.html, папка со стилями - css, в которой будет один файл стилей template.css и файл PHP - send.php.

Первым делом создадим разметку нашей формы в файле index.html:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
	<title>Страница</title>
	<link rel="stylesheet" href="/../css/template.css" type="text/css" />
</head>
<body>
	<form action="send.php" method="get">
		<input type="text" placeholder="Введите сюда e-mail" name="e-mail"><br>
		<input type="text" placeholder="Введите сюда ваше имя" name="name"><br>
		<input type="submit" value="Нажмите, чтобы отправить письмо">
	</form>
</body>
</html>

Ключевыми тут являются атрибуты action и method у <form>, первый отвечает за путь до PHP файла обработчика отправления письма, а второй за тип передачи в этот обработчик данных.

  • В нашем случае файл-обработчик send.php, который лежит в корневом каталоге, рядом с index.html, потому и путь такой.
  • И мы выбрали метод GET, так же можно выбирать метод POST, просто получать данные потом в PHP файле вы будете по другому.
  • Для <input> важен атрибут name, при помощи его значения потом мы будем доставать значения в PHP.

Добавим немного стилей, чтобы форма была по центру страницы:

form {
	text-align:center;
}
form input {
	margin:20px 0;
}

Теперь остается только написать обработчик send.php, который будет отправлять сообщение на почту.

Немного о логике происходящего. Пользователь, попав на страницу index.html, заполняет поля формы и нажимает на кнопку Отправить (В нашем случае она будет с текстом "Нажмите, чтобы отправить письмо"), после чего страница переходи к файлу send.php, который будет выполнять, написанный нами скрипт, по его результатам выводить сообщение об успешной/не успешной отправке.

Немного о самом скрипте, чтобы продемонстрировать работоспособность примера, письмо будет отправляться на указанный в поле E-mail. Т.е. вы сможете ввести свой адрес и удостоверится в работе скрипта.

Вот сам скрипт, с комментариями строк:

<?php
	//Получаем данные из глобальной переменной $_GET, так как мы передаем данные методом GET
	$name = $_GET['name']; // Вытаскиваем имя в переменную
	$email = $_GET['e-mail']; // Вытаскиваем почту в переменную
	$message = "Поздравляем, $name, отправка сообщений на почту $email работает"; // Формируем сообщение, отправляемое на почту
	$to = $email; // Задаем получателя письма
	$from = "noreply-site.web.cofp.ru"; // От кого пришло письмо
	$subject = "Письмо с примера простой формы сайта web.cofp.ru"; // Задаем тему письма
	$headers = "From: $from\r\nReply-To: $to\r\nContent-type: text/html; charset=utf-8\r\n"; // Формируем заголовок письма (при неправильном формировании может ломаться кодировка и т.д.)
	if (mail($to, $subject, $message, $headers)) { // При помощи функции mail, отправляем сообщение, проверяя отправилось оно или нет
		echo "<p>Сообщение успешно отправлено</p>"; // Отправка успешна
	}
	else {
		echo "<p>Что-то пошло не так, как планировалось</p>"; // Письмо не отправилось
	}
?>

Чтобы понять, что тут происходит, вам нужны хотя бы базовые знания PHP или программирования на других языках. Комментарии помогут вам.

Там где мы вытаскиваем данные в переменные - используется глобальная переменная и значения атрибутов name, соответствующих полей.

Результат работы примера можно увидеть на демо-странице:

demo

 

Скачать исходники примера ниже:

download

Комментарии   

-1 # ffdg 22.04.2016 16:53
куда почту вписывать?
Ответить | Ответить с цитатой | Цитировать
0 # Администратор 27.04.2016 23:40
Цитирую ffdg:
куда почту вписывать?


файл PHP кода, строка 6, в примере туда достается введенная почта, но можно задавать и любую другую (свою)
Ответить | Ответить с цитатой | Цитировать
0 # Mari Karklin 19.07.2016 13:09
спасибо очень круто!
Ответить | Ответить с цитатой | Цитировать
0 # Администратор 21.07.2016 15:46
Цитирую Mari Karklin:
спасибо очень круто!


Спасибо, рады стараться)
Ответить | Ответить с цитатой | Цитировать
-1 # Сашка 30.04.2017 17:48
это можна промутить на локальном сайте или нужно хтмл и пхп заливать на домен ? и еще вопрос, человек пишет комментарий на сайте нажимает кнопку отправить и этот текст идет на мой емейл через пхп-файл, я проверяю текст и потом как ?
Ответить | Ответить с цитатой | Цитировать
0 # Администратор 04.05.2017 12:06
Цитирую Сашка:
это можна промутить на локальном сайте или нужно хтмл и пхп заливать на домен ? и еще вопрос, человек пишет комментарий на сайте нажимает кнопку отправить и этот текст идет на мой емейл через пхп-файл, я проверяю текст и потом как ?


Можно и на локальном сайте - Denwer или что-то подобное. Отсылку комментария можно делать так же, если нужно добавлять сохранение в БД, чтобы потом комментарий отображать сразу.
Ответить | Ответить с цитатой | Цитировать
0 # Дмитрий Васечкин 13.05.2017 14:23
Привет! Ни как не могу понять почему у меня не приходят письма :sigh: . Скрипт срабатывает, но письма не доходят. В чём может быть проблема? Напиши ещё пожалуйста, как должны выглядеть строки 6 и 7 ( напиши пример пожалуйста).
Ответить | Ответить с цитатой | Цитировать
0 # Администратор 14.05.2017 12:33
Цитирую Дмитрий Васечкин:
Привет! Ни как не могу понять почему у меня не приходят письма :sigh: . Скрипт срабатывает, но письма не доходят. В чём может быть проблема? Напиши ещё пожалуйста, как должны выглядеть строки 6 и 7 ( напиши пример пожалуйста).


Возможно проблема в отправителе? Попробуйте на разные почты присылать (yandex, mail и т.д.)
в строке 7 лучше всего указывать почту с доменом сайта, с которого отправляется письмо, например для нашего это может быть
Ответить | Ответить с цитатой | Цитировать
0 # Аликсан Тельнов 11.08.2017 21:46
Напишите пожалуйста пример 6 и 7 строки. Не понятно куда вписывать е-майл.
Спасибо.
Ответить | Ответить с цитатой | Цитировать
0 # Аликсан Тельнов 11.08.2017 21:54
Ребята, вы конечно программисты и умницы, но ведь хочется поставить код, закачать php файл, указать свои данные и чтобы все работало.
Иначе, какой смысл выкладывать, то чем не программист разобраться не сможет.
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий

Авторизоваться с помощью:

     


Защитный код
Обновить

Поиск по сайту

Топ 10 активных пользователей

  • Имя пользователя Баллы
  • gawk
    44.20
  • hr@proovelab
    15.00
  • ZOMRO
    6.40
  • intuit89
    6.00
  • Varvarka
    4.00
  • Akyla58
    3.00
  • AnnaOl
    3.00
  • dimasik_3557
    3.00
  • ErcardSa
    3.00
  • Galinamuh
    3.00
 

Рекламные ссылки

IHC

Пожертвования

icon donate

Yandex.Money: 410011571748395

Webmoney:

R362907776401 (Рубли)

Z410919458006 (Доллары)

ihc 468x60 1 1

Похожие материалы

Языки программирования сайтов

Приветствую всех посетителей моего сайта. В этой статья я расскажу вам о языках программирования, которые нужны для управления, созданий и разработки своего сайта.

Теги:

css, html, javascript, php, веб

Комментариев: 0 Подробнее
Как написать скрипт для проведения собственного тестирования на PHP?

В этой статье речь пойдет о реализации простого тестирования при помощи PHP.

Теги:

php, тестирование, test, скрипт

Комментариев: 0 Подробнее
Как подключиться к Microsoft SQL Server через PHP

В этой статье мы расскажем о всех тонкостях подключения к MS SQL серверу, для работы с ним через PHP.

Теги:

php, Microsoft, SQL, Server, driver

Комментариев: 0 Подробнее
Как исправить ошибку

В этой статье мы рассмотрим основные причины и решения возникновения ошибки "Невозможно изменить заголовки - т.к. они уже были отправлены"("Cannot modify header information - headers already sent by").

Теги:

php, header, error, setcookie

Комментариев: 0 Подробнее

Последнее с форума

ZOMRO аватар
Домен — это неотъемлемая часть бизнеса, которая также влияет на поисковую систему. Признаки доменно...
Перейти в тему
ZOMRO аватар
На что ориентироваться при выборе хостинга? Функционал и количество ресурсов. Выбираем те параметр...
Перейти в тему
ZOMRO аватар
Красивое имя для сайта или регистрация доменных имен. Заказав у нас услугу хостинга или VDS/VPS, Вы ...
Перейти в тему

Последние статьи

Javascript функции

Функции - одна из основных концепций языка JavaScript. При этом есть кардинальное отличие от многих языков программирования, в JS каждая функция сама по себе является объектом, а соответственно и манипулировать с ней можно разными способами:

Ссылка на телефон

В этой статье мы рассмотрим простой и обычный способ создания ссылки на телефон.

CPA сети 30.01.2017
CPA сети

Сегодня мы подробно рассмотрим тему зарабатка на своих проектах (т.е. это не обязательно сайты) при помощи CPA сетей.