php — Отправка формы заказа на e-mail
Вопрос задан
Изменён 11 лет 1 месяц назад
Просмотрен 3k раз
Здравствуйте.
Создаю свой сайт и хочу, чтобы с него отправлялась форма заказа на мой e-mail. В данный момент сайт находится у меня на локальном сервере. Кто знает, как это сделать, подскажите, пожалуйста.
0На Денвере стоит заглушка на функцию mail. На хостинге все должно работать. Или перепишите скрипт под SMTP.
Вот простейший пример с функцией mail:
<form method="post" action=""> Имя отправителя:<br /> <input type="text" name="user" size="50"><br /> E-mail отправителя:<br /> <input type="text" name="user_email" size="50"><br /> Тема сообщения:<br /> <input type="text" name="subject" size="50"> <br /> Текст сообщения:<br /> <textarea name="text" cols="80" rows="10" ></textarea><br /> <input type="submit" name="send_mail" value="Отправить"> </form> <?php if (isset($_POST['send_mail']) && isset($_POST['subject']) && isset($_POST['text']) && isset($_POST['user']) && isset($_POST['user_email'])) { /* получатели */ $to = "ВАШ E-MAIL"; /* тема/subject */ $subject = $_POST['subject']; $text = $_POST['text']; $user = $_POST['user']; $user_email = $_POST['user_email']; /* сообщение */ $message = ' <html> <head> <title>' .1$subject . '</title> </head> <body>' . $text . ' </body> </html>'; /* Для отправки HTML-почты вы можете установить шапку Content-type. */ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=Windows-1251\r\n"; /* дополнительные шапки */ $headers .= "From: " . $user . "<" . $user_email . ">\r\n"; if (mail($to, $subject, $message, $headers)) { echo "<b>Сообщение отправлено!</b>"; } else { echo "Ошибка отправки!"; } } else { echo "<font color=red><b>Не заполненны текстовые поля!!!</b></font>"; } ?>
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
php — Как сделать автозаполнение формы?
А как так сделать, чтоб я смог на сайте нажать на продукт и я перелетал на страницу с заказом, где в форме «ваш заказ» было уже это написано?
- php
- javascript
Если данные о продукте в виде ссылки (например, картинка + название), то параметры можно передавать get-запросом. Например,
<a href="cart.php?id=3&n=4">...</a>
Если надо передать некоторую инфу, вводимую пользователем (кол-во товара или что-то подобное), то нужно воспользоваться формой.
<form action="cart.php" method="post"> <input type="hidden" name="id" value="3" /> <input type="text" name="n" value="0" /> ... </form>
Решение достаточно тривиально. Для каждого товара генерируем свою ссылку на страницу с формой заказа, в которой одним из параметров передаем код товара (например: http://yoursite.com/order.php?productId=5131
— ссылка для товара с кодом 5131). При генерации формы заказа, учитываем этот параметр.
Это, разумеется, для случая с одним товаром. Если товаров в корзину добавляется несколько, то, действительно, нужно где-то накапливать эти данные(например в базе данных).
Универсальнее всего на мой взгляд все-таки сессия. Это решение подойдет для любого числа товаров, да и вообще информации о тех или иных действиях пользователя. Если просто прокидывать ID товара через URL, то при следующем заходе в «корзину» (ну или как там называется оформление заказа) — этого ID уже не увидеть. Можно прокидывать через URL, но писать в сессию, можно сделать кнопку «добавить в корзину» и писать в сессию аяксом.. да мало ли способов — главное, что эта инфа уже не потеряется
Решение абсолютно нетривиально. Во-первых, эти данные нужно где-то заполнить ранее. Например, в профиле пользователя, далее эти данные должны подтягиваться в форму заказа. Можно из БД, можно из куки.
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
PHP Учебник: Форма заказа | HTML-плюшки
Поиск
Продолжаем создавать простую форму заказа. Обработка форм
, подобная этой, является одной из наиболее распространенных вещей, выполняемых с серверными языками
, включая PHP. Для нашего примера мы выбрали форму заказа компонентов
от компании Acme Widget (конечно!) Вот код всей формы
:
Компания Acme Widget
Форма заказа компонентов p>
Щелкните здесь, чтобы увидеть
, как эта форма выглядит в вашем браузере.
Теперь давайте разберемся. Как и в нашем последнем примере, большая часть кода, который вы видите, представляет собой обычный HTML. Однако обратите внимание, что ACTION= в выражении FORM
указывает на PHP-файл с именем processorder.php (заглавные буквы, которые мы использовали здесь,
, предназначены только для выделения кода, о котором мы говорим, — это не делает никаких
). разница в том, используете ли вы заглавные или строчные буквы, за исключением того, что имя файла
может быть чувствительным к регистру, если ваш сайт размещен в системе Unix/Linux.).
Когда пользователь нажимает кнопку «ввести заказ», файл, имя которого (URL) отображается
в операторе ACTION, будет загружен, и данные, введенные пользователем в форму
элементов, будут переданы ему. Данные будут идентифицированы в этом файле по
именам полей, используемых в форме, здесь «qtybases», «qtystems» и «qtytops».
По этой причине рекомендуется использовать легко узнаваемые и осмысленные имена, например
, такие как наши.
На самом деле в этой форме нет PHP-кода (поэтому он находится в файле с именем
.html), поэтому мы сразу перейдем к файлу, который будет обрабатывать наш заказ
.
Перейти к следующей части этого руководства
Вернуться к указателю серии руководств
Популярные статьи
Рекомендуемые
Order Forms исходный код готов к загрузке
Нажмите на вкладки в демоверсии, чтобы увидеть различные стили форм заказа. Это примеры форм, вы можете выбрать свои собственные поля.
- Стиль 1
- Стиль 2
Загрузка полного исходного кода для формы заказа pro.
Валюта: Доллар СШАБританский фунтЕвро
Сколько? Использование одного веб-сайтаИспользование 5 веб-сайтовНеограниченное использование веб-сайтов
Особенности
- Простой установщик, кодирование не требуется
- Отправка формы по электронной почте
- Полностью адаптивен для мобильных браузеров
- Защищено с помощью SSL/TLS (если включено)
- Поддержка электронной почты SMTP
- Защита от спама reCAPTCHA v3
- Соответствует GDPR
- Несколько стилей на выбор из
- Опция автоответчика по электронной почте
- Легко добавлять или удалять поля
- Без брендинга, белая этикетка
- Хостинг на собственном веб-сайте
- Полный исходный код (HTML, JS, CSS и PHP)
Выберите свои поля
Владельцы лицензий также получат доступ к приложению Form Creator. Это позволяет легко создавать пользовательские формы.
Гарантия возврата в течение 90 дней
Применяются положения и условия возврата
Профессиональная версия формы заказа была создана для установки и запуска на вашем веб-сайте, позволяя вашим посетителям отправлять сообщения непосредственно на выбранные вами адреса электронной почты. Он поставляется с поддержкой, помогающей предотвратить спам и злоупотребления со стороны ботов и другого вредоносного программного обеспечения, и может быть установлен и запущен всего за несколько минут.
В нашей библиотеке есть множество других форм заказа (все они вы получите вместе с лицензией).
Требования
Если вы собираетесь размещать формы на веб-сервере с PHP версии 5.5 или выше, формы должны работать безукоризненно. Подробнее о требованиях читайте здесь.
Мощный установщик
Загрузка поставляется с простым, но мощным установщиком формы, который требует от вас предоставить параметры конфигурации, например: выберите стиль, адреса электронной почты и строку темы, данные SMTP и ключи reCAPTCHA. Как только вы предоставите эти данные и установите форму, она будет готова к использованию.
защита reCAPTCHA
У вас есть возможность включить нашу интеграцию защиты от спама с Google reCAPTCHA, которая защитит вашу форму заказа от многих видов злоупотреблений, включая автоматический спам. Узнайте больше о том, как настроить учетную запись Google reCAPTCHA.
Полностью отзывчивый
Если вы хотите, чтобы ваша форма заказа хорошо работала на мобильных устройствах (телефонах и планшетах), а также на настольных компьютерах, форма сделает это из коробки. Он будет красиво изменять размер, чтобы лучше работать в браузере посетителя.
Настройка электронной почты
У вас есть полный контроль над стилем электронных писем. Форма поставляется со стандартными шаблонами электронной почты на основе HTML и TEXT, вы можете редактировать их в соответствии со своими потребностями.
Проверка формы
Когда посетитель воспользуется вашей формой, валидатор формы проверит правильность заполнения полей.