Mr_Lagmis
@Mr_Lagmis
Junior web developer =)

Неправильно отображается HTML+PHP письмо.?

Вообщем вот код отправки самого письма:
// Сообщение
			$message = '
            <div style="width: 100%; padding: 6px;">
            <h1 style="background-color: #333;height: 110px;color: white;font-weight: 700;text-align: center;font-size: 50px;"><br /><br />Новый покупатель на</h1>
            <div style="background-color: white;">
             <?php
        do {
             $tovar_id = array_reverse(array_keys($_COOKIE))[0];
             $query_coils1 = "SELECT * FROM `coils` WHERE `id` = ".$tovar_id." ";
             $result_coils1 = mysqli_query($con, $query_coils1) or die(mysqli_error());
             $row_coils1 = mysqli_fetch_array($result_coils1);
               $tovar_col = array_pop($_COOKIE);
             $tovar_id = array_reverse(array_keys($_COOKIE))[0];
             $query_coils2 = "SELECT * FROM `coils` WHERE `id` = ".$tovar_id." ";
             $result_coils2 = mysqli_query($con, $query_coils2) or die(mysqli_error());
             $row_coils2 = mysqli_fetch_array($result_coils2);
            $img = $row_coils1["img"];
            $name = $row_coils1["name"];
            $price = $row_coils1["price"];
            $all_tovar_col += $tovar_col;
            $all_tovar_price += $price;
            $id_coil = $row_coils1["id"];
            echo "
            <style type="text/css">
            .tovar_3 {
                width: 100%;
                border: 1px solid #7e7cff;
                opacity: 0.97;
                display: inline-block;
                padding: 4px;
                background: radial-gradient(farthest-corner at 0 0, #ffffff, #ffffff, #ffffff, #e8e8e8);
            }
            .tovar_3:hover {
                border: 1px solid #6765ff;
                opacity: 1;
                background: #FFFFFF;
            }
            </style>

            <div class="tovar_3">

            <a href="/tovar.php?tovar_category=coil&tovar_id='.$id_coil.'"><div style="max-width: 50px;display: inline-block;"><img src="/img/tovars/coils/'.$img.'" alt="img" title="'.$name.'" style="max-width: 40px;" /></div></a>

            <a href="/tovar.php?tovar_category=coil&tovar_id='.$id_coil.'"><div style="display: inline-block;font-weight: 700;width: 200px;" title="'.$name.'">'.$name.'</div></a>

            <div style="display:inline-block;">Количество: <span style="font-weight: 600; color: #3d7aaf;">'.$tovar_col.'</div>

            <div style="display: inline-block; margin-left: 5px; padding-left: 5px; border-left: 1px solid #848484;">Цена: <span style="font-weight: 600; color: #d81515;">'.$price.' RUB</span></div>

            </div>
        ";
        }while(mysqli_num_rows($result_coils2) >= 1);
        ?>
            </div>
            ';

			// Для отправки HTML-письма
			$headers  = 'MIME-Version: 1.0' . "\r\n";
			$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

  			mail("support@----.ru", "Новый покупатель!", $message, $headers);

А вот результат:
5a3e7bb96a5ba465247844.jpeg
Некоторое я убрал специально (к примеру название сайта). Я знаю, код явно плохой, прошу не говорить об этом, я знаю. Я это делал для начала, ну только начал и тут ошибка. И я вроде-бы понял в чём ошибка, в вставлении PHP в HTML, но КАК это всё сделать красиво, шоб работало, я не догоняю... Помогите, пожалуйста, отчаянному...
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
nefone
@nefone
Junior PHP разработчик
Переменные в PHP надо вставлять в двойные кавычки, что бы подставлялось их значение.
Потом следует узнать, как обрабатывают HTML почтовые клиенты и сделать его валидным.
А тут лежит код отправки письма с сайта, можешь ознакомиться.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы