probleem met aan/af-melden nieuwsbrief
het veld voor emailadres word leeggehaald en meer niet
misschien dat iemand hier mij kan vertellen wat er fout is en hoe het wel moet
b.v.d.
hier is het script overigens:
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
94
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
94
<html>
<head>
<link rel="stylesheet" href="../style.css" type="text/css">
<title>Nieuwsbrief</title>
</head>
<body>
<?php
include("nieuwsbriefgegevens.php");
if(getenv('HTTP_X_FORWARDED_FOR')) { $IPadres = getenv('HTTP_X_FORWARDED_FOR'); }
elseif(getenv('HTTP_CLIENT_IP')) { $IPadres = getenv('HTTP_CLIENT_IP'); }
else { $IPadres = $_SERVER['REMOTE_ADDR']; }
// 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
if($actie == "aanmelden") {
$email = trim($email);
if(!$email || !ControleerEmail($email)) {
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
elseif(mysql_result(mysql_query("SELECT COUNT(Datum) FROM Nieuwsbrief WHERE Adres = '$email'"),0)) {
echo("<b>Het e-mail adres staat al in de lijst!</b><br><br>");
}
else {
$code = rand(100000,999999);
mysql_query("INSERT INTO Nieuwsbrief VALUES('$email','".date("U")."','$IPadres','$code')");
mail("$email","Bevestigen nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $email,\n\nJij of iemand anders heeft dit e-mail adres aangemeld bij de nieuwsbrief van $JouwWebsiteNaam.\n\nKlik hier om de aanmelding te bevestigen:\n$NieuwsbriefLocatie?actie=bevestigen&email=$email&code=$code\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Er is een e-mail naar $email gestuurd. Klik op de link in de e-mail om de aanmelding te bevestigen.</b><br><br>");
}
}
elseif($actie == "bevestigen") {
$email = trim($email);
if(!$email || !ControleerEmail($email)) {
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
elseif(!@mysql_result(mysql_query("SELECT COUNT(Adres) FROM Nieuwsbrief WHERE Adres = '$email'"),0)) {
echo("<b>Het e-mail adres is niet gevonden!</b><br><br>");
}
elseif(!$cd = @mysql_result(mysql_query("SELECT Activeren FROM Nieuwsbrief WHERE Adres = '$email'"),0,"Activeren")) {
echo("<b>Het aanmelden is al bevestigd!</b><br><br>Klik <a href='http://www.zwanenburghardcore.nl.tt/' target='_self'>hier</a> om terug te gaan de website.");
}
elseif($code != $cd) {
echo("<b>De activeringscode is onjuist!</b><br><br>Klik <a href='http://www.zwanenburghardcore.nl.tt/' target='_self'>hier</a> om terug te gaan de website.");
}
else {
mysql_query("UPDATE Nieuwsbrief SET Activeren = '0' WHERE Adres = '$email'");
mail("$email","Aanmelding nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $email,\n\nBedankt voor het bevestigen. Je zal vanaf nu de nieuwsbrief van $JouwWebsiteNaam ontvangen.\nAfmelden kan op de website.\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Het aanmelden is succesvol bevestigd!</b> Ter bevestiging is een e-mail gestuurd.<br><br>");
}
}
elseif($actie == "afmelden") {
if(!$email || !ControleerEmail($email)) {
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
elseif(!@mysql_result(mysql_query("SELECT COUNT(Adres) FROM Nieuwsbrief WHERE Adres = '$email'"),0)) {
echo("<b>Het e-mail adres is niet gevonden!</b><br><br>");
}
else {
mysql_query("DELETE FROM Nieuwsbrief WHERE Adres = '$email'");
mail("$email","Afmelding nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $email,\n\nJij of iemand anders heeft dit e-mail adres afgemeld bij de nieuwsbrief van $JouwWebsiteNaam. Wil je de nieuwsbrief weer ontvangen, ga dan naar de website en meld je opnieuw aan.\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Het e-mail adres is succesvol afgemeld!</b> Ter bevestiging is een e-mail gestuurd.<br><br>");
}
}
?>
<b>Nieuwsbrief:</b><br><br>
<form method="post" action="../nieuwsbrief/nieuwsbrief.php">
E-mail adres:
<input type="text" name="email">
<br>
<input type="radio" name="actie" value="aanmelden" checked>Aanmelden
<br>
<input type="radio" name="actie" value="afmelden">Afmelden<br>
<input type="submit" value="Verstuur">
</form>
</body>
</html>
<head>
<link rel="stylesheet" href="../style.css" type="text/css">
<title>Nieuwsbrief</title>
</head>
<body>
<?php
include("nieuwsbriefgegevens.php");
if(getenv('HTTP_X_FORWARDED_FOR')) { $IPadres = getenv('HTTP_X_FORWARDED_FOR'); }
elseif(getenv('HTTP_CLIENT_IP')) { $IPadres = getenv('HTTP_CLIENT_IP'); }
else { $IPadres = $_SERVER['REMOTE_ADDR']; }
// 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
if($actie == "aanmelden") {
$email = trim($email);
if(!$email || !ControleerEmail($email)) {
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
elseif(mysql_result(mysql_query("SELECT COUNT(Datum) FROM Nieuwsbrief WHERE Adres = '$email'"),0)) {
echo("<b>Het e-mail adres staat al in de lijst!</b><br><br>");
}
else {
$code = rand(100000,999999);
mysql_query("INSERT INTO Nieuwsbrief VALUES('$email','".date("U")."','$IPadres','$code')");
mail("$email","Bevestigen nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $email,\n\nJij of iemand anders heeft dit e-mail adres aangemeld bij de nieuwsbrief van $JouwWebsiteNaam.\n\nKlik hier om de aanmelding te bevestigen:\n$NieuwsbriefLocatie?actie=bevestigen&email=$email&code=$code\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Er is een e-mail naar $email gestuurd. Klik op de link in de e-mail om de aanmelding te bevestigen.</b><br><br>");
}
}
elseif($actie == "bevestigen") {
$email = trim($email);
if(!$email || !ControleerEmail($email)) {
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
elseif(!@mysql_result(mysql_query("SELECT COUNT(Adres) FROM Nieuwsbrief WHERE Adres = '$email'"),0)) {
echo("<b>Het e-mail adres is niet gevonden!</b><br><br>");
}
elseif(!$cd = @mysql_result(mysql_query("SELECT Activeren FROM Nieuwsbrief WHERE Adres = '$email'"),0,"Activeren")) {
echo("<b>Het aanmelden is al bevestigd!</b><br><br>Klik <a href='http://www.zwanenburghardcore.nl.tt/' target='_self'>hier</a> om terug te gaan de website.");
}
elseif($code != $cd) {
echo("<b>De activeringscode is onjuist!</b><br><br>Klik <a href='http://www.zwanenburghardcore.nl.tt/' target='_self'>hier</a> om terug te gaan de website.");
}
else {
mysql_query("UPDATE Nieuwsbrief SET Activeren = '0' WHERE Adres = '$email'");
mail("$email","Aanmelding nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $email,\n\nBedankt voor het bevestigen. Je zal vanaf nu de nieuwsbrief van $JouwWebsiteNaam ontvangen.\nAfmelden kan op de website.\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Het aanmelden is succesvol bevestigd!</b> Ter bevestiging is een e-mail gestuurd.<br><br>");
}
}
elseif($actie == "afmelden") {
if(!$email || !ControleerEmail($email)) {
echo("<b>Het e-mail adres is ongeldig!</b><br><br>");
}
elseif(!@mysql_result(mysql_query("SELECT COUNT(Adres) FROM Nieuwsbrief WHERE Adres = '$email'"),0)) {
echo("<b>Het e-mail adres is niet gevonden!</b><br><br>");
}
else {
mysql_query("DELETE FROM Nieuwsbrief WHERE Adres = '$email'");
mail("$email","Afmelding nieuwsbrief $JouwWebsiteNaam","Beste eigenaar van $email,\n\nJij of iemand anders heeft dit e-mail adres afgemeld bij de nieuwsbrief van $JouwWebsiteNaam. Wil je de nieuwsbrief weer ontvangen, ga dan naar de website en meld je opnieuw aan.\n\n$JouwWebsiteNaam","From: $JouwWebsiteNaam <$JouwEmail>");
echo("<b>Het e-mail adres is succesvol afgemeld!</b> Ter bevestiging is een e-mail gestuurd.<br><br>");
}
}
?>
<b>Nieuwsbrief:</b><br><br>
<form method="post" action="../nieuwsbrief/nieuwsbrief.php">
E-mail adres:
<input type="text" name="email">
<br>
<input type="radio" name="actie" value="aanmelden" checked>Aanmelden
<br>
<input type="radio" name="actie" value="afmelden">Afmelden<br>
<input type="submit" value="Verstuur">
</form>
</body>
</html>
Foutafhandeling en superglobals missen.
Notice: Undefined variable: actie in /nieuwsbrief/nieuwsbrief.php on line 22
Notice: Undefined variable: actie in /nieuwsbrief/nieuwsbrief.php on line 41
Notice: Undefined variable: actie in /nieuwsbrief/nieuwsbrief.php on line 66
En controleer wel of een variabele bestaat, isset() of empty() doen wonderen. Zie verder www.php.net