Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Оформить письмо в виде таблицы (https://javascript.ru/forum/misc/69084-oformit-pismo-v-vide-tablicy.html)

Spirit_on 28.05.2017 19:30

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

---------------------------
В частности что нужно добавить в этот код?
<?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>

laimas 28.05.2017 19:33

А JS то тут причем, формируйте html-сообщение по принятым данным. В чем проблема?

Spirit_on 28.05.2017 19:39

Цитата:

Сообщение от laimas
. В чем проблема?

Проблема в моей безграмотности.

laimas 28.05.2017 19:51

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

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

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

Тему письма надо кодировать, иначе нет гарантии, что получатель прочтет "Заказ с сайта". Почитать сначала нужно, а уж затем....

Spirit_on 28.05.2017 19:58

Цитата:

Сообщение от laimas
<td><?=$phone?></td>

А применительно к моему коду,куда именно это прописывать надо?
Носом не тыкните?
Если бы это был просто html-код,я бы с горем пополам,но разобрался бы.
А тут,что-куда,короче впадаю в ступор.

laimas 28.05.2017 20:11

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

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

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


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

Но сначала проверка формы, иначе вместо почты будет туфта.


Часовой пояс GMT +3, время: 14:11.