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.