Aan/Af meld script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
//include config file
include('./paste/config.php');//omdat deze script ook bekijk baar is zal hier niet mijn login gegevens plaatsen ;)
//we hebben al een verbinding
//functie voor controleren of email geldig is: (Gehaald uit Formhandler ;))
function IsEmail($value) {
return preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $value);
}
$mijndomein = 'http://www.phpclub.nl/';
$script = 'bevestig.php';
$naam = 'Eris';
$oemail = 'info[at]phpclub.nl';//eigelijk [at] = @
$tabel = 'email_list';
if(IsEmail($_POST['email'])){
if($_POST['do'] == 'aanmelden'){
//stel query op
$sql = 'INSERT INTO '.$tabel.'
SET email = "'.mysql_real_escape_string($_POST['email']).'",
actief = "N",
ip = "'.mysql_real_escape_string($_SERVER['REMOTE_ADDR']).'"';
//voer query uit Veld email is uniek om te voorkomen dat een email vaker dan 1 keer voorkomt
if(mysql_query($sql)){
//het is gelukt
//we stelle een email op en versturen die
//stel link op
$link = $mijndomein.$script.'?email='.$_POST['email'].'&actief=Y';
$bericht = 'Geachte bezoeker
U heeft zich zojuist aan gemeld voor de nieuwsbrief op '.$mijndomein.'. Om u aanmelding van de nieuwsbrief te activeren vragen wij u om op de volgende linkt te druken:
'.$link.'
Heeft u nooit gevraagd voor een nieuwsbrief dan zijn er 2 manieren om te voorkomen dat u geen email ontvangd van ons.
1. Negeer deze email
2. Meld u zelf af via onze website '.$mijndomein.'.
Met vriendelijke groet,
De webmaster.
';
//we gaan nu nog even de juiste headers mee sturen of we maken gebruik van phpmailer oid.
$sHeaders = "From: ".$naam." <".$oemail.">\r\n";//pas je naam aan...
$sHeaders .= "Reply-To:".$naam."<".$oemail.">\r\n";
$sHeaders .= "MIME-Version: 1.0";
//we gaan mailen
if(mail($_POST['email'],'Aanmelding nieuws brief',$bericht,$sHeaders)){
//email verzonden
echo 'We hebben zojuist een email verzonden naar '.$_POST['email'].'. Wij vragen u om de aanmeldig te bevestingen.';
}else{
echo 'Er is tijdens een het verzenden van de email een fout opgetreden. Stuur een email naar '.$oemail.' om de account handmatig te activeren';
}
}else{
//mysql error
//dit kan 2 redenen hebben 1. Ongeldige query of dat de email al in onze db bestaat die gaan we dus eerst af vangen
if(mysql_errno() == 1062){
//email bestaat al
echo 'De door u opgegeven email is al aangemeld voor de nieuwsbrief';
}else{
echo 'Er is een fout opgetreden';
}
}
}else{
$sql = 'DELETE FROM '.$tabel.' WHERE email = "'.mysql_real_escape_string($_POST['email']).'"';
if($row = mysql_query($sql)){
//email is bevestigd.
if(mysql_affected_rows() == 1){
echo 'Uw email is verwijderd van de malinglist. U zult van af nu geen email meer ontvangen van ons';
}else{
echo 'Uw email komt niet voor in de database. U zult daarom geen mail op deze email van ons ontvangen';
}
}else{
echo 'Er is een mysql error op getreden';
}
}
}else{
//geef de formulier weer
echo ' <form name="" method="post" action="">
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td valign="top">Emailadress</td>
<td valign="top">:</td>
<td valign="top"><input type="text" name="email" id="email" value="" size="20" /> </td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"><input type="radio" name="do" value="aanmelden" id="am"><label for="am">Aanmelden</label> <input type="radio" name="do" value="afmelden" id="af"><label for="af">Afmelden</label></td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"><input type="submit" value="Verzenden" name="button1" id="button1"/> </td>
</tr>
</table>';
}
?>
//include config file
include('./paste/config.php');//omdat deze script ook bekijk baar is zal hier niet mijn login gegevens plaatsen ;)
//we hebben al een verbinding
//functie voor controleren of email geldig is: (Gehaald uit Formhandler ;))
function IsEmail($value) {
return preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $value);
}
$mijndomein = 'http://www.phpclub.nl/';
$script = 'bevestig.php';
$naam = 'Eris';
$oemail = 'info[at]phpclub.nl';//eigelijk [at] = @
$tabel = 'email_list';
if(IsEmail($_POST['email'])){
if($_POST['do'] == 'aanmelden'){
//stel query op
$sql = 'INSERT INTO '.$tabel.'
SET email = "'.mysql_real_escape_string($_POST['email']).'",
actief = "N",
ip = "'.mysql_real_escape_string($_SERVER['REMOTE_ADDR']).'"';
//voer query uit Veld email is uniek om te voorkomen dat een email vaker dan 1 keer voorkomt
if(mysql_query($sql)){
//het is gelukt
//we stelle een email op en versturen die
//stel link op
$link = $mijndomein.$script.'?email='.$_POST['email'].'&actief=Y';
$bericht = 'Geachte bezoeker
U heeft zich zojuist aan gemeld voor de nieuwsbrief op '.$mijndomein.'. Om u aanmelding van de nieuwsbrief te activeren vragen wij u om op de volgende linkt te druken:
'.$link.'
Heeft u nooit gevraagd voor een nieuwsbrief dan zijn er 2 manieren om te voorkomen dat u geen email ontvangd van ons.
1. Negeer deze email
2. Meld u zelf af via onze website '.$mijndomein.'.
Met vriendelijke groet,
De webmaster.
';
//we gaan nu nog even de juiste headers mee sturen of we maken gebruik van phpmailer oid.
$sHeaders = "From: ".$naam." <".$oemail.">\r\n";//pas je naam aan...
$sHeaders .= "Reply-To:".$naam."<".$oemail.">\r\n";
$sHeaders .= "MIME-Version: 1.0";
//we gaan mailen
if(mail($_POST['email'],'Aanmelding nieuws brief',$bericht,$sHeaders)){
//email verzonden
echo 'We hebben zojuist een email verzonden naar '.$_POST['email'].'. Wij vragen u om de aanmeldig te bevestingen.';
}else{
echo 'Er is tijdens een het verzenden van de email een fout opgetreden. Stuur een email naar '.$oemail.' om de account handmatig te activeren';
}
}else{
//mysql error
//dit kan 2 redenen hebben 1. Ongeldige query of dat de email al in onze db bestaat die gaan we dus eerst af vangen
if(mysql_errno() == 1062){
//email bestaat al
echo 'De door u opgegeven email is al aangemeld voor de nieuwsbrief';
}else{
echo 'Er is een fout opgetreden';
}
}
}else{
$sql = 'DELETE FROM '.$tabel.' WHERE email = "'.mysql_real_escape_string($_POST['email']).'"';
if($row = mysql_query($sql)){
//email is bevestigd.
if(mysql_affected_rows() == 1){
echo 'Uw email is verwijderd van de malinglist. U zult van af nu geen email meer ontvangen van ons';
}else{
echo 'Uw email komt niet voor in de database. U zult daarom geen mail op deze email van ons ontvangen';
}
}else{
echo 'Er is een mysql error op getreden';
}
}
}else{
//geef de formulier weer
echo ' <form name="" method="post" action="">
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td valign="top">Emailadress</td>
<td valign="top">:</td>
<td valign="top"><input type="text" name="email" id="email" value="" size="20" /> </td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"><input type="radio" name="do" value="aanmelden" id="am"><label for="am">Aanmelden</label> <input type="radio" name="do" value="afmelden" id="af"><label for="af">Afmelden</label></td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"></td>
<td valign="top"><input type="submit" value="Verzenden" name="button1" id="button1"/> </td>
</tr>
</table>';
}
?>
« vorige pagina | volgende pagina »
Inhoudsopgave
- Waarom deze tutorial?
- Wat houden die anti spam voorwaarden vaak in?
- Aanmelden voor een maling list.
- Aan/Af meld script
- Bevestiging systeem
- Nu heb ik de emails wat nu?