PHP gevorderde |
|
Ik heb vandaag ook maar eens de poging gewaagd een html mail te sturen, maar helaas is me dit tot nu toe nog niet gelukt.
Het script wordt prima uitgevoerd, maar de html wordt niet uitgevoerd, de html codes worden letterlijk weergegeven in de mail.
code is als volgt:
<?php
else
{
$type = filter($_POST['type']);
$inhoud = filter($_POST['inhoud']);
if($type == 'nieuwtje')
$query = "SELECT emailadres,naam FROM klanten WHERE nieuwtjesNieuwsbrief='ja'";
elseif($type == 'nieuweAanbieding')
$query = "SELECT emailadres,naam FROM klanten WHERE nieuweAanbiedingenNieuwsbrief='ja'";
elseif($type == 'nieuwProduct')
$query = "SELECT emailadres,naam FROM klanten WHERE nieuweProductenNieuwsbrief='ja'";
if($type == 'nieuweAanbieding')
$type = 'Nieuwe aanbiedingen';
if($type == 'nieuwProduct')
$type = 'Nieuwe producten';
if($type == 'nieuwtje')
$type = 'Nieuwtje';
$result = mysql_query($query);
$aantalOntvangers = mysql_num_rows($result);
echo('Deze nieuwsbrief is gemaild naar '.$aantalOntvangers.' klanten.');
if(mysql_num_rows($result))
{
$headers .= "From: Elektronica Onderdelen.nl\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
echo('<table width="400"><tr><th>Naam</th></tr>');
while($row = mysql_fetch_array($result))
{
$emailadres = $row['emailadres'];
echo('<tr bgcolor='.$bgcolor.'><td>'.$row['naam'].'</td></tr>');
mail($emailadres,'Nieuwsbrief Elektronica Onderdelen.nl - '.$type,stripslashes(nl2br($inhoud)),$headers);
if($changeColor==false)
{
$bgcolor = '#EEEEEE';
$changeColor = true;
}
else
{
$bgcolor = '#DDDDDD';
$changeColor = false;
}
}
echo('</table>');
}
}
?>
<?php else { $type = filter($_POST['type']); $inhoud = filter($_POST['inhoud']); if($type == 'nieuwtje') $query = "SELECT emailadres,naam FROM klanten WHERE nieuwtjesNieuwsbrief='ja'"; elseif($type == 'nieuweAanbieding') $query = "SELECT emailadres,naam FROM klanten WHERE nieuweAanbiedingenNieuwsbrief='ja'"; elseif($type == 'nieuwProduct') $query = "SELECT emailadres,naam FROM klanten WHERE nieuweProductenNieuwsbrief='ja'"; if($type == 'nieuweAanbieding') $type = 'Nieuwe aanbiedingen'; if($type == 'nieuwProduct') $type = 'Nieuwe producten'; if($type == 'nieuwtje') $type = 'Nieuwtje'; echo('Deze nieuwsbrief is gemaild naar '.$aantalOntvangers.' klanten.'); { $headers .= "From: Elektronica Onderdelen.nl\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; echo('<table width="400"><tr><th>Naam</th></tr>'); { $emailadres = $row['emailadres']; echo('<tr bgcolor='.$bgcolor.'><td>'.$row['naam'].'</td></tr>'); mail($emailadres,'Nieuwsbrief Elektronica Onderdelen.nl - '.$type,stripslashes(nl2br($inhoud)),$headers); if($changeColor==false) { $bgcolor = '#EEEEEE'; $changeColor = true; } else { $bgcolor = '#DDDDDD'; $changeColor = false; } } } } ?>
Dit is alleen het gedeelte wat uitgevoerd wordt zodra er op submit is gedrukt.
het formulier heb ik nu achterwege gelaten, temeer ook omdat daar niets in is gewijzigd aangezien het een al reeds bestaand script is wat ik nu wil aanpassen naar html.
|