PHP ver gevorderde |
|
Als ik de nieuwsbrief verzend komt er:
Beste ...,
Beste ...,
Wel 7 keer (op ... komt de naam van verschillende leden). Normaal moet daar maar 1 keer staan met jouw gebruikersnaam.
<?php
//De if is gewoon verzenden. Deze elseif met submit2 in is om het voorbeeld te bekijken, de andere elseif met submit3 erin is om te verzenden vanaf het voorbeeld. Dan heb je nog een else met het formulier.
elseif(isset($_POST['submit2']))
{
//Maak de gegevens op
//Onderwerp
$onderwerp = $_POST['onderwerp'];
$tr_onderwerp = trim($onderwerp);
$htmle_onderwerp = htmlentities($tr_onderwerp, ENT_QUOTES);
$str_onderwerp = strip_tags($htmle_onderwerp);
//Nieuwsbrief
$nieuwsbrief = $_POST['nieuwsbrief'];
$tr_nieuwsbrief = trim($nieuwsbrief);
$htmle_nieuwsbrief = htmlentities($tr_nieuwsbrief, ENT_QUOTES);
$str_nieuwsbrief = strip_tags($htmle_nieuwsbrief);
//Als de nieuwsbrief leeg is
if(empty($str_onderwerp) || empty($str_nieuwsbrief))
{
echo "Je hebt niet alles ingevuld";
}
//Anders verzenden
else
{
$onderwerp = stripslashes($str_onderwerp);
$nieuwsbrief = $str_nieuwsbrief."
Vriendelijke groeten,
Quinten
http://www.harrypotter-dreuzels.com
Je ontvangt de nieuwsbrief omdat je als lid van het Harry Potter - Dreuzels site-account de optie 'Nieuwsbrief ontvangen' aan hebt staan.";
$nieuwsbrief_ok = ubb_codes(stripslashes($nieuwsbrief));
$_SESSION['onderwerp'] = $onderwerp;
$_SESSION['nieuwsbrief'] = $nieuwsbrief;
echo 'Onderwerp: '.$onderwerp.'<br /><br />
E-mail: Beste [gebruikersnaam],<br /><br />
'.$nieuwsbrief_ok.'<br /><br />
<form method="post" action="">
<input type="submit" name="submit3" value="Verzend de nieuwsbrief">
</form>';
}
}
elseif(isset($_POST['submit3']))
{
//Haal alle gebruikersnamen en mailadressen uit de DB die de nieuwsbrief willen ontvangen
$query2 = "SELECT `gebruikersnaam`, `mailadres` FROM `leden` WHERE `nieuwsbrief_ontvangen`='1'";
$result2 = mysql_query($query2) or die(mysql_error());
while($fetch2 = mysql_fetch_array($result2))
{
$aan = $fetch2['mailadres'];
$nieuwsbrief = "Beste ".$fetch2['gebruikersnaam'].",<br /><br />
".$_SESSION['nieuwsbrief'];
$nieuwsbrief_ok = ubb_codes(stripslashes($nieuwsbrief));
//HTML mag in de mail
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//Extra
$headers .= "From: Quinten <webmaster@harrypotter-dreuzels.com>\r\n";
$headers .= "To: ".$fetch2['gebruikersnaam']." <".$fetch2['mailadres'].">\r\n";
//En nu de mail nog verzenden
mail($aan,$_SESSION['onderwerp'],$nieuwsbrief_ok,$headers);
}
echo "De nieuwsbrief is succesvol verzonden.";
}
?>
<?php //De if is gewoon verzenden. Deze elseif met submit2 in is om het voorbeeld te bekijken, de andere elseif met submit3 erin is om te verzenden vanaf het voorbeeld. Dan heb je nog een else met het formulier. elseif(isset($_POST['submit2'])) { //Maak de gegevens op //Onderwerp $onderwerp = $_POST['onderwerp']; $tr_onderwerp = trim($onderwerp); //Nieuwsbrief $nieuwsbrief = $_POST['nieuwsbrief']; $tr_nieuwsbrief = trim($nieuwsbrief); $htmle_nieuwsbrief = htmlentities($tr_nieuwsbrief, ENT_QUOTES ); $str_nieuwsbrief = strip_tags($htmle_nieuwsbrief); //Als de nieuwsbrief leeg is if(empty($str_onderwerp) || empty($str_nieuwsbrief)) { echo "Je hebt niet alles ingevuld"; } //Anders verzenden else { $nieuwsbrief = $str_nieuwsbrief." Vriendelijke groeten, Quinten http://www.harrypotter-dreuzels.com Je ontvangt de nieuwsbrief omdat je als lid van het Harry Potter - Dreuzels site-account de optie 'Nieuwsbrief ontvangen' aan hebt staan."; $_SESSION['onderwerp'] = $onderwerp; $_SESSION['nieuwsbrief'] = $nieuwsbrief; echo 'Onderwerp: '.$onderwerp.'<br /><br /> E-mail: Beste [gebruikersnaam],<br /><br /> '.$nieuwsbrief_ok.'<br /><br /> <form method="post" action=""> <input type="submit" name="submit3" value="Verzend de nieuwsbrief"> </form>'; } } elseif(isset($_POST['submit3'])) { //Haal alle gebruikersnamen en mailadressen uit de DB die de nieuwsbrief willen ontvangen $query2 = "SELECT `gebruikersnaam`, `mailadres` FROM `leden` WHERE `nieuwsbrief_ontvangen`='1'"; { $aan = $fetch2['mailadres']; $nieuwsbrief = "Beste ".$fetch2['gebruikersnaam'].",<br /><br /> ".$_SESSION['nieuwsbrief']; //HTML mag in de mail $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Extra $headers .= "From: Quinten <webmaster@harrypotter-dreuzels.com>\r\n"; $headers .= "To: ".$fetch2['gebruikersnaam']." <".$fetch2['mailadres'].">\r\n"; //En nu de mail nog verzenden mail($aan,$_SESSION['onderwerp'],$nieuwsbrief_ok,$headers); } echo "De nieuwsbrief is succesvol verzonden."; } ?>
Wat doe ik fout?
|