probleem met aan/af-melden nieuwsbrief

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Aftertoucher

Aftertoucher

18/08/2006 18:58:00
Quote Anchor link
ik gebruik een script om mensen zich te kunnen laten aanmelden voor een nieuwsbrief, maar zodra ik een email adres in vul en op versturen klik gebeurt er niks.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<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>
 
PHP hulp

PHP hulp

20/06/2024 19:54:51
 
- SanThe -

- SanThe -

18/08/2006 19:07:00
Quote Anchor link
Foutafhandeling en superglobals missen.
 
Aftertoucher

Aftertoucher

18/08/2006 19:10:00
Quote Anchor link
E_all geeft aan dat de acties uit het formulier niet gedefineerd zijn...

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
 
Frank -

Frank -

18/08/2006 19:20:00
Quote Anchor link
$_POST['actie'] doet wonderen... De genoemde superglobals!

En controleer wel of een variabele bestaat, isset() of empty() doen wonderen. Zie verder www.php.net
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.