Ik wil een email systeem bij mijn leden systeem bouwen.
In het systeem moet onderwerp, en bericht (ook html) komen.

Alle email adressen staan in de tabel leden onder email.

Nu is mijn vraag hoe kan ik nu een email sturen naar de email adressen die in het database staan.
ik heb nu dit:

<?
require("config.php");
require("include.php");
beveiliging("Beheerder");

if(!$_GET[actie]){
echo "<h3>Nieuwsbrief verzeden</h3>";
echo "<a href=\"?actie=news\">Verstuur</a><BR>";
}
elseif($_GET[actie] == "news"){
if($_GET[actie] == "news" AND $_GET[okay] == "yes"){
$select = "SELECT id FROM leden WHERE gebruikersnaam='" . $_POST[gebruikersnaam] . "'";
$query = mysql_query($select);
$select = "SELECT email FROM leden";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)) {
$naam = $list->naam;
$bericht2 = str_replace("#naam#","$naam",$bericht);
$naam2 = str_replace(" ","%20",$naam);
$email2 = str_replace(" ","%20",$email);
$email = $list->email;
mail("$email", "$onderwerp","bericht2","From: walibiclub.nl<[email protected]>\nReturn-path: [email protected]");
}
}
else {
echo "<h3>Nieuwsbrief</h3>";
echo "De nieuwsbrief is verzonden naar alle leden.<BR><BR><a href=\"admin.php\">Terug naar de admin</a>";
}
}
else {
echo "<h3>Verstuur nieuwsbrief</h3>";
echo "Wil je een nieuwsbrief versturen vul dan het formulier hieronder in.";
echo "<form method=\"post\" action=\"?actie=news&okay=yes\" onSubmit=\"this.submit.disabled='true'\">";
echo "Onderwerp:<br><input type=\"text\" name=\"onderwerp\" size=\"20\">Bericht:<BR><textarea rows=\"17\" name=\"bericht\" cols=\"60\"></textarea><BR><input type=\"submit\" name=\"submit\" value=\"Verzenden\"></form>";
echo "Gebruik #naam# om de de naam van een lid te gebruiken.";
}
?>

Alleen kan ik geen bericht in typen ik krijg gelijk de melding u bericht is verzonden naar alle leden. Hoe kan dat woren veranderd?
Door eerst te controleren of het formulier wel gepost is, en dat doe je niet door in de link een bepaalde GET variabele mee te geven ;)

Gebruik bijvoorbeeld:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// input controleren
// mail versturen
}
else
{
// mail formulier tonen
}
?>
$_GET[actie]
dat hoort natuurlijk $_GET['actie'] te zijn, zet maar eens error_reporting(E_ALL); boven je script, dan zal je notices krijgen.

Misschien dat het ook andere fouten oplevert.

Reageren