2013-12-18 2 views
0

У меня есть следующий код:процесс форма заказа с PHP для отправки электронной почты

<table class="table table-striped" id="itemsTable"> 
       <thead> 
       <tr> 
        <th></th> 
        <th>Item Code</th> 
        <th>Description</th> 
        <th>Qty</th> 
        <th>Price</th> 
        <th>Total</th> 
       </tr> 
       </thead> 
       <tbody> 
       <tr class="item-row"> 
        <td></td> 
        <td><input type="text" name="itemCode[]" value="" class="input-medium" id="itemCode" 
           tabindex="1"/> 
        </td> 
        <td><input type="text" name="itemDesc[]" value="" class="input-large" id="itemDesc" 
           readonly="readonly"/></td> 
        <td><input type="text" name="itemQty[]" value="" class="input-mini" id="itemQty" tabindex="2"/> 
        </td> 
        <td> 
         <div class="input-prepend input-append"><span class="add-on">&#8364;</span> 
         <input 
           name="itemPrice[]" 
           class=" input-small" 
           id="itemPrice" 
           type="text"></div> 
        </td> 
        <td> 
         <div class="input-prepend input-append"><span class="add-on">&#8364;</span><input 
           name="itemLineTotal[]" class=" input-small" id="itemLineTotal" type="text" 
           readonly="readonly"></div> 
        </td> 
       </tr> 
       </tbody> 
      </table> 

Каков наилучший способ обработки входов с помощью PHP, чтобы отправить заказ по электронной почте nicley отформатированный в таблицу? Это форма заказа, и мне нужно, чтобы просто быть отправлены на электронную почту, как только полный

Вот мой код обработки:

<?php 
$to = $_REQUEST['xxx'] ; 
$from = $_REQUEST['Email'] ; 
$name = $_REQUEST['Name'] ; 
$headers = "From: $from"; 
$subject = "Web Contact Data"; 

$fields = array(); 
$fields{"itemCode"} = "Code"; 
$fields{"itemDesc"} = "Description"; 
$fields{"itemPrice"} = "Price"; 

$body = "We have received the following information:\n\n"; 

foreach($fields as $a => $b){ 
$body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); 
} 

$headers2 = "From: [email protected]"; 
$subject2 = "Thank you for contacting us"; 
$autoreply = "Thank you for contacting us. Somebody will get back to you as soon as possible, usualy within 48 hours. If you have any more questions, please consult our website at www.oursite.com"; 


$send = mail($to, $subject, $body); 
if($send){ 
header("Location:index.php"); 
} else { 
    print "We encountered an error sending your mail, please try again"; 
} 
?> 

Этот код не работает, пожалуйста, помогите

+1

«Не работает». Более подробная информация о том, что не работает, может помочь вам получить ответ. – Michael

ответ

0

Где

$to = $_REQUEST['xxx'] ; 

исходящий из? Я думаю, что вы можете установить его на жесткий, как вы, вероятно, не нужны динамическую электронную почту для решения, так что-то вроде:

$to = '[email protected]'; 

Но, как Майкл упомянул в ответ на ваш вопрос, мы не можем быть конечно, пока вы не сообщите нам, какая часть не работает/какие ошибки вы получаете и т. д.

+0

Я получаю электронное письмо, но только Код: Описание: Цена: данные не отправляются по электронной почте – Dom

+0

Когда вы эхо возвращаете $ body var, вы видите правильные данные? Если нет, вы знаете, где искать. – jvv

0

Для обработки формы таким образом вам нужно иметь элемент формы где-нибудь в вашей разметке для обработки.

<form method="POST" action="yourSecondScript.php"> 
    your first markup here 
    <input type="submit"> 
<form> 

Затем, чтобы сделать сообщение электронной почты красивым с таблицами, необходимо установить заголовки электронной почты в html.

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: " . $_REQUEST['Name'] . ">\r\n"; 

mail($to, $subject, $body, $headers); 
Смежные вопросы