Hallo,

In mijn (kleine) webshop verstuur ik een email naar mijzelf en de besteller met de volgende opmaak:


<?php
$today = date("d-m-Y @ H:i:s");
$message = '<html><body>';
$message .= '<img src="http://mijnwebsite.nl/images/maillogo.png" />';
$message .= '<table rules="all" width="600" style="border-color: #c0c0c0;" cellpadding="2">';
$message .= "<tr><td colspan=4>Hartelijk dank voor uw bestelling.<br/>Bestel datum: $today</td></tr>";
$message .= "<tr><td colspan=4>Maak het verschuldigde bedrag van $TOTAL over op:<br/><br/>Rekening nummer: $rekeningnr<br/>T.n.v.: $tnv<br/>O.v.v ordernummer: $orderid</td></tr>";
$message .= "<tr><td colspan=4>Verzend adres:<br/><br/>$b_first $b_last<br/>$b_addr<br/>$b_zip $b_city<br/>$b_phone<br/>$b_email</td></tr>";
$message .= "<tr><td colspan=4>Factuuradres (indien afwijkend verzendadres):<br/><br/>$s_first $s_last<br/>$s_addr<br/>$s_zip $s_city</td></tr>";
$message .= "<tr><td width=120>Aantal:</td><td width=70>Prijs:</td><td width=110>Bestelcode:</td><td width=300>Artikelnaam:</td></tr>";
$message .= "<tr><td width=120>$QUANTITY_1</td><td width=70>$PRICE_1</td><td width=110>$ID_1</td><td width=300>$NAME_1</td></tr>";
if( $NAME_2 ) {$message .= "<tr><td width=120>$QUANTITY_2</td><td width=70>$PRICE_2</td><td width=110>$ID_2</td><td width=300>$NAME_2</td></tr>";}
if( $NAME_3 ) {$message .= "<tr><td width=120>$QUANTITY_3</td><td width=70>$PRICE_3</td><td width=110>$ID_3</td><td width=300>$NAME_3</td></tr>";}
if( $NAME_4 ) {$message .= "<tr><td width=120>$QUANTITY_4</td><td width=70>$PRICE_4</td><td width=110>$ID_4</td><td width=300>$NAME_4</td></tr>";}
if( $NAME_5 ) {$message .= "<tr><td width=120>$QUANTITY_5</td><td width=70>$PRICE_5</td><td width=110>$ID_5</td><td width=300>$NAME_5</td></tr>";}
$message .= "<tr><td colspan=4>SUBTOTAAL: $SUBTOTAL</td></tr>";
$message .= "<tr><td colspan=4>BTW (21%): $TAX</td></tr>";
$message .= "<tr><td colspan=4>Verzendkosten: $SHIPPING</td></tr>";
$message .= "<tr><td colspan=4><b>TOTAAL: $TOTAL</b></td></tr>";
$message .= "<tr><td colspan=4>Opmerkingen:<br><br>$comment</td></tr>";
$message .= "</table>";
$message .= "</body></html>";

$subject = " Nieuwe bestelling via website";
$headers  = "Van: $b_email\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

mail($youremail, $subject, $message, $headers);
?>


De email ziet eruit als in het plaatje getoond:


Wat doe ik verkeerd waardoor er gegevens missen?

B.v.d. Dirk.

P.s., hoe kan ik de code hier in een codeveld zetten (betere leesbaarheid)
Ik zie toch echt een Verzendkostenprijs en ene totaalprijs.

Ik zou zeggen, haal je HTML-code eens uit de mail, en gooi deze door de W3 Validator.
Blijkbaar is er wat fout in de table-markup, waardoor de virus-signature verkeerd wordt geplaatst.
Kijk dan maar eens goed naar de variabelen die je in je tabel verwerkt. Jij haalt ze niet buiten quotes.
Ik zie door de bomen het bos niet meer....
Gebruik gewoon zo een struktuur:


<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
// hier alles acties die moeten worden uitgevoerd als je het formulier verstuurd.
// etc....
$message .= "<tr><td colspan=4><b>TOTAAL: ".$_POST['TOTAL']."</b></td></tr>";
} else {
// hier je formulier
} 
?>
Mijn kennis over php is niet zo groot dus er komen alleen maar meer bomen bij :-)
Klopt ga ik ook doen.

Volhoudend als ik ben heb ik een andere code toegepast nl:

<?php
$message = '
<html>
<head>
</head>

<body>
<img src="http://scsprod.nl/images/maillogo.png">
<table width="600px"  rules="all" bordercolor="#c0c0c0" bgcolor="#FFFFFF">
<tr>
	<td colspan="4">Hartelijk dank voor uw bestelling.<br />Bestel datum: $today</td>
</tr>
<tr><td colspan="4">
	Maak het verschuldigde bedrag van $TOTAL over op:<br /><br />
	Rekening nummer: $rekeningnr<br />
	T.n.v.: $tnv<br />
	O.v.v ordernummer: $orderid</td>
</tr>
<tr><td colspan="4">
	Verzend adres:<br /><br />
	$b_first $b_last<br />
	$b_addr<br />
	$b_zip $b_city<br />
	$b_phone<br />
	$b_email
</td></tr>
<tr><td colspan="4">
	Factuuradres (indien afwijkend verzendadres):<br /><br />
	$s_first $s_last<br />
	$s_addr<br />
	$s_zip $s_city
</td></tr>
<tr>
	<td width=120>Aantal:</td>
	<td width=70>Prijs:</td>
	<td width=110>Bestelcode:</td>
	<td width=300>Artikelnaam:</td>
</tr>
<tr>
	<td width=120>$QUANTITY_1<br />$QUANTITY_2</td>
	<td width=70>$PRICE_1<br />$PRICE_2</td>
	<td width=110>$ID_1<br />$ID_2</td>
	<td width=300>$NAME_1<br />$NAME_2</td>
</tr>
<tr>
	<td colspan="4">SUBTOTAAL: $SUBTOTAL<br>BTW (21%): $TAX<br>Verzendkosten: $SHIPPING<br>TOTAAL: $TOTAL</td>
</tr>
<tr>
	<td colspan="4">Opmerkingen:<br /><br />$comment</td>
</tr>
</table>
</body>
</html>';

//### Send email order to you...

$subject = " Nieuwe bestelling via website";

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: <[email protected]>' . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";

// Mail it
mail($youremail, $subject, $message, $headers);
?>

met als resultaat:


Hoe vul ik de variabelen op de juiste manier?
Variabelen buiten quotes....


<?php
echo 'Dit is een string!' .$variabele. 'En dit is weer een string!';
?>
Het is, dankzij Aar's hulp gelukt met:

<?php
$message = '
<html>
<head>
</head>

<body>
<img src="http://mijnwebsite.nl/maillogo.png">
<table width="600px"  rules="all" bordercolor="#c0c0c0" bgcolor="#FFFFFF">
<tr>
	<td colspan="4">Hartelijk dank voor uw bestelling.<br />Bestel datum: ' .$today. '</td>
</tr>
<tr><td colspan="4">
	Maak het verschuldigde bedrag van ' .$TOTAL. ' over op:<br /><br />
	Rekening nummer: ' .$rekeningnr. '<br />
	T.n.v.: ' .$tnv. '<br />
	O.v.v ordernummer: ' .$orderid. '</td>
</tr>
<tr><td colspan="4">
	Verzend adres:<br /><br />
	' .$b_first .'&nbsp;' .$b_last. '<br />
	' .$b_addr. '<br />
	' .$b_zip. '&nbsp;' .$b_city. '<br />
	' .$b_phone. '<br />
	' .$b_email. '
</td></tr>
<tr><td colspan="4">
	Factuuradres (indien afwijkend verzendadres):<br /><br />
	' .$s_first. '&nbsp;' .$s_last. '<br />
	' .$s_addr. '<br />
	' .$s_zip. '&nbsp;' .$s_city. '
</td></tr>
<tr>
	<td width=120>Aantal:</td>
	<td width=70>Prijs:</td>
	<td width=110>Bestelcode:</td>
	<td width=300>Artikelnaam:</td>
</tr>
<tr>
	<td width=120>' .$QUANTITY_1. '&nbsp;<br />' .$QUANTITY_2. '</td>
	<td width=70>' .$PRICE_1. '&nbsp;<br />' .$PRICE_2. '</td>
	<td width=110>' .$ID_1. '&nbsp;<br />' .$ID_2. '</td>
	<td width=300>' .$NAME_1. '&nbsp;<br />' .$NAME_2. '</td>
</tr>
<tr>
	<td width=120>SUBTOTAAL: <br />BTW (21%): <br />Verzendkosten: <br />TOTAAL: </td>
	<td colspan="3">' .$SUBTOTAL. '&nbsp;<br />' .$TAX. '&nbsp;<br />' .$SHIPPING. '&nbsp;<br />' .$TOTAL. '</td>
</tr>
<tr>
	<td colspan="4">Opmerkingen:<br /><br />' .$comment. '</td>
</tr>
</table>
</body>
</html>';
?>

Het resultaat is:


Heel erg bedankt !

P.s., hoe toon ik het euro teken ipv het vierkantje?

Reageren