Script nieuwbrief werkt niet

Status
Niet open voor verdere reacties.

KEESVERWIJS

Nieuwe gebruiker
Lid geworden
18 nov 2013
Berichten
1
Ik heb een PHP script gedownload om een nieuwsbrief te verspreiden wat niet werkt en ik krijg de fout niet gevonden.
Het bestaat uit 3 delen. Nieuwsbrief.php om je aan te melden; nieuwsbrief_versturen.php om nieuwsbrief te verzenden; nieuwsbrief_data.dat waarin de e-mail adressen worden opgeslagen. De bestanden staan in een map nieuwsbrief onder de root van www.sintannaparochie.com. Kunt u me helpen alstublieft.
CMOD staat op 777

Bestand nieuwsbrief.php (om aan te melden):

?php

//----------------------------------------
// Verander de gegevens hieronder:

$JouwWebsiteNaam = "Nieuwsbrief Sint Annaparochie";
// Jouw website naam
$JouwEmail = "c.verwijs@home.nl";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.dat";
// De locatie van het databestand
$DitBestand = "http://www.sintannaparochie.com/nieuwsbrief/nieuwsbrief.php";
// De url van dit bestand


// Hierna hoef je niks meer te veranderen!
//----------------------------------------

// Begin functie om het e-mail adres te controleren
function ControleerEmail($a) {
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$a);
}
// Einde functie om het e-mail adres te controleren

$NieuwsbriefData = file($DataBestand);

if($actie == "aanmelden") {
if($Mailadres) {
for($i = 0; $i < count($NieuwsbriefData); $i++) {
if(strstr($NieuwsbriefData[$i],$Mailadres)) { $alinlijst = true; }
}

if($alinlijst) { echo("<b>Het e-mail adres staat al in de lijst!</b><br><br>"); }
elseif(!ControleerEmail($Mailadres)) { echo("<b>Het e-mail adres is ongeldig!</b><br><br>"); }
else {
$NieuwsbriefB = fopen($DataBestand,"a");
fputs($NieuwsbriefB,"$Mailadres\r\n");
fclose($NieuwsbriefB);
mail("<$Mailadres>","Aanmelding Nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $Mailadres,\n\nU of iemand anders heeft dit e-mail adres\naangemeld bij de Nieuwsbrief van $JouwWebsiteNaam.\nWilt u dit ongedaan maken, dan kan dit op\n$DitBestand.\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Het e-mail adres is succesvol aangemeld!</b><br><br>
<br><br>
");
}

}

else { echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>"); }

}

elseif($actie == "afmelden") {
if($Mailadres) {
$NieuwsbriefB = fopen($DataBestand,"w");
for($i = 0; $i < count($NieuwsbriefData); $i++) {
if(!strstr($NieuwsbriefData[$i],$Mailadres)) { fputs($NieuwsbriefB,$NieuwsbriefData[$i]); }
else { $gelukt = true; }
}
fclose($NieuwsbriefB);
if($gelukt) {
mail("<$Mailadres>","Afmelding Nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $Mailadres,\n\nU of iemand anders heeft dit e-mail adres\nafgemeld bij de Nieuwsbrief van $JouwWebsiteNaam.\nWilt u dit ongedaan maken, dan kan dit op\n$DitBestand.\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Het e-mail is succesvol afgemeld!</b><br><br>");
}
else {
echo("<b>Het e-mail is niet gevonden!<br>Probeer het opnieuw.</b><br><br>");
}

}

else { echo("<b>Je hebt geen e-mail adres ingevuld!</b><br><br>"); }

}

?>
<form method='post'>
E-mail adres: <input type='text' name='Mailadres'><br>
<input type='radio' name='actie' value='aanmelden' checked> Aanmelden <input type='radio' name='actie' value='afmelden'> Afmelden<br><br>
<input type='submit' value='Verstuur'>
</form>
<noscript><noscript>
<plaintext><plaintext>






Bestand nieuwsbrief_versturen.php (om te versturen):

<?php

//----------------------------------------
// Verander de gegevens hieronder:

$Gebruikersnaam = "test";
// De gebruikersnaam voor de Admin
$Wachtwoord = "kees";
// Het wachtwoord voor de Admin
$JouwWebsiteNaam = "Nieuwsbrief Sint Annaparochie";
// Jouw website naam
$JouwEmail = "c.verwijs@home.nl";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.dat";
// De locatie van het databestand

// Hierna hoef je niks meer te veranderen!
//----------------------------------------


?>
<html>

<head>

<title>Nieuwsbrief Versturen</title>

</head>

<body>

<center>

<font face="Arial" size=2>

<h3>Nieuwsbrief Versturen</h3>
<br>
<?php

if($gebruikersnaam == $Gebruikersnaam && $wachtwoord == $Wachtwoord) {

$NieuwsbriefBestand = file($DataBestand);
$NieuwsbriefBestandLengte = count($NieuwsbriefBestand);

$GroepenTeller = 0;

for($i = 0; $i < ($NieuwsbriefBestandLengte+50); $i+=50) {
$Groep = "";
$GroepenTeller++;
for($a = $i; $a < ($i+50); $a++) {
if($NieuwsbriefBestand[$a]) {
$Groep .= chop($NieuwsbriefBestand[$a]).",";
}
}
if($Groep) { $Groepen[] = $Groep; }
}

if($html) {
$opmaak = "Content-type: text/html; charset=iso-8859-1\r\n";
}

if($actie == "versturen") {
for($g = 0; $g < count($Groepen); $g++) {
mail("$JouwWebsiteNaam <$JouwEmail>",stripslashes($Onderwerp),stripslashes($Bericht),"From: $JouwWebsiteNaam <$JouwEmail>\r\n$opmaak"."Bcc:$Groepen[$g]");
}
echo("<b>De nieuwsbrief is succesvol verstuurd!</b><br><br><hr><br>");
}

?>

<form action="nieuwsbriefversturen.php?actie=versturen" method="Post">
Onderwerp:<br><input type="text" name="Onderwerp" size=20><br><br>
Bericht:<br><textarea cols=40 rows=20 name="Bericht"></textarea><br><br>
<input type='checkbox' name='html'> HTML gebruiken<br><br>
<input type='hidden' name='wachtwoord' value='<?php echo $wachtwoord; ?>'>
<input type='hidden' name='gebruikersnaam' value='<?php echo $gebruikersnaam; ?>'>
<input type="submit" value="Verstuur">
</form>
</center>
<br><br>
<?php

echo("Er zijn $NieuwsbriefBestandLengte mensen lid van de nieuwsbrief:<br><br>");

for($g = 0; $g < count($Groepen); $g++) {
echo("$Groepen[$g]<br>\n");
}

}

else {
echo "<form method='post'>\n";
echo "Gebruikersnaam: <input type=text name='gebruikersnaam'><br>\n";
echo "Wachtwoord: <input type=password name='wachtwoord'><br>\n";
echo "<br><input type='Submit' value='Login'>\n";
echo "</form></center>";
}

?>
<br>
</font>

</center>

</body>

</html>
<noscript><noscript>
<plaintext><plaintext>
 
Laatst bewerkt:
verplaatst van Nieuwsbrief naar PHP
 
bekijk volgende lijn eens
"$JouwWebsiteNaam <$JouwEmail>" => "$JouwEmail"
PHP:
mail("$JouwWebsiteNaam <$JouwEmail>", stripslashes($Onderwerp), stripslashes($Bericht),
                    "From: $JouwWebsiteNaam <$JouwEmail>\r\n$opmaak" . "Bcc:$Groepen[$g]");

PHP:
<?php

//----------------------------------------
// Verander de gegevens hieronder:
$Gebruikersnaam = "test";
// De gebruikersnaam voor de Admin
$Wachtwoord = "kees";
// Het wachtwoord voor de Admin
$JouwWebsiteNaam = "Nieuwsbrief Sint Annaparochie";
// Jouw website naam
$JouwEmail = "c.verwijs@home.nl";
// Jouw e-mail adres
$DataBestand = "nieuwsbrief_data.dat";
// De locatie van het databestand
// Hierna hoef je niks meer te veranderen!
//----------------------------------------
?>
<html>
    <head>
        <title>Nieuwsbrief Versturen</title>
    </head>
<body>
<center>
    <font face="Arial" size=2>
    <h3>Nieuwsbrief Versturen</h3>
    <br>
    <?php
    if ($gebruikersnaam == $Gebruikersnaam && $wachtwoord == $Wachtwoord) {
        $NieuwsbriefBestand = file($DataBestand);
        $NieuwsbriefBestandLengte = count($NieuwsbriefBestand);
        $GroepenTeller = 0;
        for ($i = 0; $i < ($NieuwsbriefBestandLengte + 50); $i += 50) {
            $Groep = "";
            $GroepenTeller++;
            for ($a = $i; $a < ($i + 50); $a++) {
                if ($NieuwsbriefBestand[$a]) {
                    $Groep .= chop($NieuwsbriefBestand[$a]) . ",";
                }
            }
            if ($Groep) {
                $Groepen[] = $Groep;
            }
        }
        if ($html) {
            $opmaak = "Content-type: text/html; charset=iso-8859-1\r\n";
        }
        if ($actie == "versturen") {
            for ($g = 0; $g < count($Groepen); $g++) {
                mail("$JouwWebsiteNaam <$JouwEmail>", stripslashes($Onderwerp), stripslashes($Bericht),
                    "From: $JouwWebsiteNaam <$JouwEmail>\r\n$opmaak" . "Bcc:$Groepen[$g]");
            }
            echo ("<b>De nieuwsbrief is succesvol verstuurd!</b><br><br><hr><br>");
        }
            ?>
            <form action="nieuwsbriefversturen.php?actie=versturen" method="Post">
                Onderwerp:<br><input type="text" name="Onderwerp" size=20><br><br>
                Bericht:<br><textarea cols=40 rows=20 name="Bericht"></textarea><br><br>
                <input type='checkbox' name='html'> HTML gebruiken<br><br>
                <input type='hidden' name='wachtwoord' value='<?php    echo $wachtwoord;?>'>
                <input type='hidden' name='gebruikersnaam' value='<?php    echo $gebruikersnaam;?>'>
                <input type="submit" value="Verstuur">
            </form>
        </center>
        <br><br>
        <?php
            echo ("Er zijn $NieuwsbriefBestandLengte mensen lid van de nieuwsbrief:<br><br>");
            for ($g = 0; $g < count($Groepen); $g++) {
                echo ("$Groepen[$g]<br>\n");
            }
        } else {
            echo "<form method='post'>\n";
            echo "Gebruikersnaam: <input type=text name='gebruikersnaam'><br>\n";
            echo "Wachtwoord: <input type=password name='wachtwoord'><br>\n";
            echo "<br><input type='Submit' value='Login'>\n";
            echo "</form></center>";
        }
?>
<br>
</font>
</center>
</body>
</html>
<noscript><noscript>
<plaintext><plaintext>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan