2013-12-19 3 views
0

У меня есть следующее. Im пытается отправить таблицу данных по адресу электронной почты, но этот код не работает, я получаю следующее сообщение об ошибке:php form отправляется по электронной почте, не генерируя правильный вывод?

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING 

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

<?php 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n"; 
$headers .= "From: Sales Rep <[email protected]>\r\n"; 
$subject = 'Email report'; 

$to = '[email protected]'; 
$subject = "Web Contact Data"; 




$body = " 

<html> 
<head> 
<title>HTML email</title> 
</head> 
<body> 
<p>This email contains HTML Tags!</p> 
<table border='1'> 
    <thead> 
     <tr> 
<?php 

    if (!empty($_POST)) { 

    echo '<tbody>'; 
    foreach($_POST['itemCode'] as $row => $item) { 
    echo'<tr>'; 
    echo '<td>' . htmlspecialchars($_POST['itemCode'][$row]) . "" . "</td>"; 
    echo '<td>' . htmlspecialchars($_POST['itemDesc'][$row]) . "" . "</td>"; 
    echo '<td>' . htmlspecialchars($_POST['itemQty'][$row]) . "" . "</td>"; 
    echo '<td>' . '&#8364;' . htmlspecialchars($_POST['itemPrice'][$row]) . "" . "</td> "; 
    echo '<td>' . '&#8364;' . htmlspecialchars($_POST['itemLineTotal'][$row]) . "" . "</td>"; 
    echo'<tr>'; 


} 
echo '</tbody>'; 

     } 

    ?> 
     </tr> 
    </thead> 
</table> 
</body> 
</html> 
"; 




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

Может кто-то пожалуйста, сообщите ? Мне действительно нужно сегодня это сделать. Пожалуйста, пожалуйста, помогите кому-нибудь.

+0

'foreach' построить внутри переменной ?? Ты серьезно ? –

+0

wtf? '' внутри $ body = ""? И вы переопределяете первый предмет. – q0re

+0

Выделение синтаксиса прямо здесь, в StackOverflow, показывает явные проблемы с оператором '$ body ='. Вам нужно разобраться с этим. –

ответ

2

ли это:

$body = " 

<html> 
<head> 
<title>HTML email</title> 
</head> 
<body> 
<p>This email contains HTML Tags!</p> 
<table border='1'> 
    <thead> 
     <tr>"; 

    if (!empty($_POST)) { 

    $body .= '<tbody>'; 
    foreach($_POST['itemCode'] as $row => $item) { 
    $body .= '<tr>'; 
    $body .= '<td>' . htmlspecialchars($_POST['itemCode'][$row]) . "" . "</td>"; 
    $body .= '<td>' . htmlspecialchars($_POST['itemDesc'][$row]) . "" . "</td>"; 
    $body .= '<td>' . htmlspecialchars($_POST['itemQty'][$row]) . "" . "</td>"; 
    $body .= '<td>' . '&#8364;' . htmlspecialchars($_POST['itemPrice'][$row]) . "" . "</td> "; 
    $body .= '<td>' . '&#8364;' . htmlspecialchars($_POST['itemLineTotal'][$row]) . "" . "</td>"; 
    $body .='<tr>'; 


} 
$body .= '</tbody>'; 

     } 

$body .= "</tr> 
    </thead> 
</table> 
</body> 
</html> 
"; 
+0

Комментарий от downvoter? – q0re

+0

вы использовали .. это опять синтаксически неправильно. –

+0

не видно;) Я исправил его. – q0re

0

Вы используете <?php ?> теги в вашем $ тела строки. Вы должны переместить код между этими тегами вне строки и объединить.

+0

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

0

Попробуйте это: - Вы используете Еогеасп внутри эхо

<?php 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n"; 
$headers .= "From: Sales Rep <[email protected]>\r\n"; 
$subject = 'Email report'; 

$to = '[email protected]'; 
$subject = "Web Contact Data"; 

$body = "<html><head> 
<title>HTML email</title> 
</head> 
<body> 
<p>This email contains HTML Tags!</p> 
<table border='1'> 
    <thead> 
     <tr>"; 
if (!empty($_POST)) { 
    $body .= "<tbody>"; 
    foreach ($_POST['itemCode'] as $row => $item) { 
     $body .= '<tr > '; 
     $body .= '<td>' . htmlspecialchars($_POST['itemCode'][$row]) . "" . "</td>"; 
     $body .= '<td>' . htmlspecialchars($_POST['itemDesc'][$row]) . "" . "</td>"; 
     $body .= '<td>' . htmlspecialchars($_POST['itemQty'][$row]) . "" . "</td>"; 
     $body .= '<td>' . '&#8364;' . htmlspecialchars($_POST['itemPrice'][$row]) . "" . "</td> "; 
     $body .= '<td>' . '&#8364;' . htmlspecialchars($_POST['itemLineTotal'][$row]) . "" . "</td>"; 
     $body .= '<tr > '; 
    } 
    $body .= '</tbody>'; 
} 
$body .= '</tr></thead></table></body></html>'; 

$send = mail($to, $subject, $body, $headers); 
if ($send) { 
    // header("Location:index.php"); 
} else { 
    print "We encountered an error sending your mail, please try again"; 
} 
?> 
Смежные вопросы