Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.05.2017, 19:30
Аватар для Spirit_on
Аспирант
Отправить личное сообщение для Spirit_on Посмотреть профиль Найти все сообщения от Spirit_on
 
Регистрация: 27.04.2014
Сообщений: 41

Оформить письмо в виде таблицы
Подскажите как можно оформить заявку с сайта,чтоб письмо с контактами приходило в виде таблицы?
А не вот так:
---------------------------

---------------------------
В частности что нужно добавить в этот код?
<?php
 /* Здесь проверяется существование переменных */
  if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
 if (isset($_POST['name'])) {$name = $_POST['name'];}
 if (isset($_POST['adress'])) {$adress = $_POST['adress'];}

/* Сюда впишите свою эл. почту */
 $address = "свояПочта@yandex.ru";

/* А здесь прописывается текст сообщения, \n - перенос строки */
 $mes = "Тема: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $adress";

/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='Заказ с сайта'; //сабж
$email='<yourdomen.ru>'; // от кого
 $send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");

ini_set('short_open_tag', 'On');
header('Refresh: 3; URL=index.html');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся</title>
<meta name="">
<style type="text/css">
body
{
   
   background: #22BFF7 url(zakaz.jpg) top -70% center no-repeat;
   
}

<script type="text/javascript">
setTimeout('location.replace("/index.html")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script> 
</head>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 28.05.2017, 19:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А JS то тут причем, формируйте html-сообщение по принятым данным. В чем проблема?
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2017, 19:39
Аватар для Spirit_on
Аспирант
Отправить личное сообщение для Spirit_on Посмотреть профиль Найти все сообщения от Spirit_on
 
Регистрация: 27.04.2014
Сообщений: 41

Сообщение от laimas
. В чем проблема?
Проблема в моей безграмотности.
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2017, 19:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

В чем проблема прочесть о структуре HTML таблицы? В ее ячейки поместить РНР переменные просто:

<td><?=$phone?></td>

Почтовое оформление формируется действительно безграмотно. Но уж коли взялись за это дело, надо же изучать. Например, функция isset() проверяет только наличие установленной переменной. То есть пользователь вообще ничего может не вводить в форму, отправив ее, а значит ваша проверка отправит пустое письмо. Нужно проверять пришедшие данные и если они некорректны, не соответствуют условиям, возвращать форму и ошибки ввода пользователю.

Тему письма надо кодировать, иначе нет гарантии, что получатель прочтет "Заказ с сайта". Почитать сначала нужно, а уж затем....
Ответить с цитированием
  #5 (permalink)  
Старый 28.05.2017, 19:58
Аватар для Spirit_on
Аспирант
Отправить личное сообщение для Spirit_on Посмотреть профиль Найти все сообщения от Spirit_on
 
Регистрация: 27.04.2014
Сообщений: 41

Сообщение от laimas
<td><?=$phone?></td>
А применительно к моему коду,куда именно это прописывать надо?
Носом не тыкните?
Если бы это был просто html-код,я бы с горем пополам,но разобрался бы.
А тут,что-куда,короче впадаю в ступор.
Ответить с цитированием
  #6 (permalink)  
Старый 28.05.2017, 20:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Я же дал ссылку на HTML, разве не понятно что в нем есть таблица? Знаете какая вам нужна таблица, а тем более "Если бы это был просто html-код,я бы с горем пополам", то есть составить ее вы можете. В каких ячейках ее нужно написать текст, а в каких поместить данные формы думаю знаете. Ну так в чем проблема?

А далее читать по ссылке как формируется почта - ваша таблица, это будет просто строка:

$mes = '<table><tr><td>Телефон</td><td>' . $phone . '</td></tr>.... и т.д. вся таблица';


HTML сообщение, это не Content-type:text/plain, а Content-type:text/html, и прочее остальное по ссылке.

Но сначала проверка формы, иначе вместо почты будет туфта.
Ответить с цитированием
  #7 (permalink)  
Старый 28.05.2017, 21:28
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,664

Spirit_on, если простой текст (text/plain), то для таблицы есть такой символ \t табуляция, делает отступ каждые 8 знаков:
console.log('Тема:\tЗаказ обратного звонка!\nТелефон:322-233\nИмя:\tвася пупкин\nE-mail:\ta@a.a\n');

Если хочется чего-то большего есть тот самый html-код (text/html).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод из таблицы в БД c помощью AJAX smart-create AJAX и COMET 4 29.12.2016 20:44
Как представить результат запроса в виде таблицы? testuser7 AJAX и COMET 6 25.11.2016 16:07
почему не обрабатываются события в динамически добавленых строках таблицы boris2000 Events/DOM/Window 2 10.11.2016 14:04
Генерация таблицы из JSON Lemme Общие вопросы Javascript 34 23.07.2015 21:55
Итерация в виде таблицы SergeyMiracle AJAX и COMET 5 07.07.2013 19:40