Отправка изображения продукта по электронной почте из контактной формы в скрытом поле

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

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

Должен ли я вызвать в базу данных, выбрав картинку, которая соответствует имени опубликованной картинки, и предварительно определить ее место назначения перед тем, как поместить ее в $Bodymessage? или может есть еще какая-то хитрость?

вы можете добавить ссылку на изображение в качестве шаблона электронного письма в $ body Massage.

Parth Shah 31.05.2018 11:04

но убедитесь, что ваша почта не является текстовой / простой.

Parth Shah 31.05.2018 11:05

@ParthShah Поскольку я не очень хорошо разбираюсь во всем этом, есть ли шанс, что вы могли бы привести пример, чтобы дать мне представление? Я был бы очень признателен, поскольку я действительно пытаюсь научиться.

sean 31.05.2018 11:22

вы можете добавить свой код ???

Parth Shah 31.05.2018 11:22

да, вы имели в виду ссылку на изображение как в: www.webaddress.co.za/upload/image?

sean 31.05.2018 11:45

да. Поэтому вам нужно добавить <img src = "url_of_your_image_not_path"> и поместить этот html в свою почту.

Parth Shah 31.05.2018 11:46

@ParthShah Когда я так добавил

sean 31.05.2018 11:58

когда и где ????

Parth Shah 31.05.2018 11:59

@ParthShah Когда я добавил его вот так, pic = $_POST['pic'], а затем позвонил с $Body .= "<img src='/upload/$pic' width='250' height='220'>";, я просто получил html в электронном письме.

sean 31.05.2018 12:04

Я также пробовал $pic = $_POST['pic'], затем $sql = SELECT pic FROM stock WHERE pic = '$pic'"; then mysqli_query`, затем $row = mysqli_fetch_assoc($result);, затем $uppic = $row['pic']$picloc = "/upload/$uppic";, затем используя его в $Body .= $picloc;

sean 31.05.2018 12:08

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

Parth Shah 31.05.2018 12:10

@ParthShah добавил мой код ниже

sean 31.05.2018 15:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
12
34
2

Ответы 2

Я предлагаю что-то вроде этого

$to = '[email protected]';

$subject = 'Website Change Request';

$headers = "From: " . strip_tags($_POST['from_email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['to_email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

$message = '<html><body>';
$message .= '<img src = "imag_url_not_path">';
$message .= '</body></html>';

mail($to, $subject, $message, $headers);

О, теперь я понимаю, извините

sean 31.05.2018 12:10

могу ли я использовать $_POST в $message .= '<img src = "www.website.co.za/upload/$_POST[pic]">';?

sean 31.05.2018 12:37

похоже, не работает, я просто получаю фактический тег <img> обратно с электронным письмом

sean 31.05.2018 12:53
 This is my form Handler: 

 <?php
 $stocknr = $_POST['snr'];
 $EmailFrom = $_POST['visitormail'];
 $EmailTo = "[email protected]";
 $Subject = "Details -"." $stocknr";
 $Name = Trim(stripslashes($_POST['visitor'])); 
 $Tel = Trim(stripslashes($_POST['visitortel']));
 $Cell = Trim(stripslashes($_POST['visitorcel']));
 $Email = Trim(stripslashes($_POST['visitormail'])); 
 $Message = Trim(stripslashes($_POST['notes'])); 
 $trans = $_POST['trans'];
 $fuel = $_POST['fuel'];
 $desc = $_POST['desc'];
 $year = $_POST['year'];
 $brand = $_POST['brand'];
 $model = $_POST['model'];
 $price = $_POST['price'];
 $counter = $_POST['counter'];
 $title = $_POST['title'];
 $uppic = $_POST['pic'];
 // validation
 $validationOK=true;
 if (!$validationOK) 
 {
 print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
 exit;
 }


$con=mysqli_init();
if (!$con)
{
die("mysqli_init_failed");
}
if (!mysqli_real_connect($con,$servername,$dbusername,$dbpassword,$dbname))
{
die("Connect Error: " . mysqli_connect_error());
}
$query = "SELECT pic, stocknr FROM stock WHERE stocknr = '$stocknr'";
$result = mysqli_query($con,$query);
$row = mysqli_fetch_assoc($result);
$pic = $row['pic'];



// prepare email body text
$Body = '<html><body>';
$Body .= "Att Saayman Motors";
$Body .= "\n";
$Body .= "\n";
$Body .= "Please follow up on the following lead below generated by Details 
- "."$stocknr";
$Body .= "\n";
$Body .= "\n";
$body .= "<p class='header'>Requested Followup Information</p>";
$Body .= "\n";
$Body .= "\n";
$Body .= "Interested Person Details";
$Body .= "\n";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "\n";
$Body .= "Tel: ";
$Body .= $Tel;
$Body .= "\n";
$Body .= "\n";
$Body .= "Cell: ";
$Body .= $Cell;
$Body .= "\n";
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";
$Body .= "\n";
$Body .= "Vehicle Information";
$Body .= "\n";
$Body .= "\n";
$Body .= "Details :";
$Body .= $title;
$Body .= "\n";
$Body .= "\n";
$Body .= "Stocknr: ";
$Body .= $stocknr;
$Body .= "\n";
$Body .= "\n";
$Body .= "Price: ";
$Body .= "\n";
$Body .= "\n";
$Body .= "R ";
$Body .= $price;
$Body .= "\n";
$Body .= "\n";
$Body .= "";
$Body .= '<img src = "http://www.saaymanmotors.co.za/upload/$pic">';
$Body .= '</body></html>';
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";

}
?>

Это моя контактная форма

<form name = "contactform" method = "post" action = "/contactengine.php">
<?php

$sqli = "SELECT trans, fuel, description, counter, year, brand, model, 
stocknr, price, pic FROM stock WHERE stocknr = '$stocknr'";
// Perform Query
$resulti = mysqli_query($con,$sqli);
$row = mysqli_fetch_assoc($resulti);
$trans = $row['trans'];
$fuel = $row['fuel'];
$desc = $row['description'];
$year = $row['year'];
$brand = $row['brand'];
$model = $row['model'];
$price = $row['price'];
$counter = $row['counter'];
$picloc  = $row['pic'];           
$title = "$year "."$brand "."$model";

$trans = $trans;
$fuel = $fuel;
$desc = $desc;
$year = $year;
$brand = $brand;
$model = $model;
$price = $price;
$counter = $counter;
$picloc = $picloc;
$stocknr = $stocknr;
        ?>
<input type = "hidden" name = "snr" value = "<?php echo $stocknr ;?>" />
<input type = "hidden" name = "trans" value = "<?php echo $trans ;?>" />
<input type = "hidden" name = "fuel" value = "<?php echo $fuel ;?>" />
<input type = "hidden" name = "desc" value = "<?php echo $desc ;?>" />
<input type = "hidden" name = "title" value = "<?php echo $title ;?>" />
<input type = "hidden" name = "brand" value = "<?php echo $brand ;?>" />
<input type = "hidden" name = "year" value = "<?php echo $year ;?>" />
<input type = "hidden" name = "price" value = "<?php echo $price ;?>" />
<input type = "hidden" name = "counter" value = "<?php echo $counter ;?>" />
<input type = "hidden" name = "pic" value = "<?php echo $picloc ;?>" />
        <table width = "320px">
<tr>
<td valign = "top">
<label class = "form_header" for = "visitor">Name *</label>
<table>
 <tr>
     <td valign = "top">
      <input class = "form_input" type = "text" name = "visitor" maxlength = "50" 
 size = "30">   
     </td>
 </tr>
 </table>
 </td>
 </tr>
 <tr>
 <td valign = "top">
 <label class = "form_header" for = "visitorcel">Cellphone *</label>
 <table>
 <tr>
     <td valign = "top">
     <input class = "form_input" type = "tel" name = "visitorcel" maxlength = "50" 
     size = "30">    
     </td>
 </tr>
 </table>
 </td>
 </tr>
 <tr>
 <td valign = "top">
 <label class = "form_header" for = "visitormail">Email Address *</label>
 <table>
 <tr>
     <td valign = "top">
  <input class = "form_input" type = "email" name = "visitormail" maxlength = "80" 
  size = "30">       
     </td>
 </tr>
 </table>
</td>
</tr>
<tr>
<td valign = "top">
<label class = "form_header" for = "visitortel">Telephone Number</label>
<table>
 <tr>
     <td valign = "top">
    <input class = "form_input" type = "tel" name = "visitortel" maxlength = "30" 
size = "30">      
     </td>
 </tr>
 </table>
 </td>
 </tr>
 <tr>
 <td valign = "top">
<label class = "form_header" for = "notes">Message *</label>
<table>
 <tr>
     <td valign = "top">
    <textarea class = "form_mes_input" name = "notes" maxlength = "1000" cols = "25" 
  rows = "6"></textarea>     
     </td>
 </tr>
 </table>
 </td>
 </tr>
 <tr>
 <td width = "100" style = "text-align:left">
 <input type = "submit" class = "button submit_button" value = "Submit">
 </td>
</tr>
</table>
</form>

попробуйте эту строку $ Body. = '<img src = "saaymanmotors.co.za/upload/'.$pic.'"> ';

Parth Shah 31.05.2018 15:18

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный "." в /usr/www/users/saayma/contactengine.php в строке 86 для предложенной вами строки

sean 31.05.2018 16:08

Я просто повторил вашу переменную $ Body и обнаружил, что в теге повторяющегося изображения используется переменная $ pic вместо значения $ pic. Таким образом, в вашем коде может быть проблема, связанная с concat.

Parth Shah 31.05.2018 17:22

Другие вопросы по теме