Mail formulier defect
Mijn tweede vraag is of iemand voor mij wat zou kunnen optimaliseren. Ik ben nog redelijk nieuw in het hele PHP-wereldje en durf erop te zweren dat ik bij het bewerken van deze code flink wat fouten heb gemaakt.
Zo werkt o.a. het (rood) highlighten van foute velden niet (behalve wanneer er een verboden woord is gebruikt), zou ik de verboden woorden-filter graag alleen op de velden $bericht en $onderwerp willen hebben en krijg ik het maar niet voor elkaar om de foutmelding van de woordenfilter (Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.) bij de andere foutmeldingen in het rijtje te integreren (telefoon, naam, email etc.)
Dit is de code van mail.php. Het formulier kan ik jullie ook geven.
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
<?php
ob_start(); // Voor Cookie setten
// Config Gedeelte
$site = "website na foutmelding";
$wm_naam = "naaaam"; // Webmaster naam
$wm_email = "[email protected]"; // Webmaster E-mail
$Anti_Spam = "5";
$fout_text = TRUE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$fout_vakje = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$html = TRUE; // Een HTML email
// Hierna hoef je niks meer te veranderen!
$naam = $_POST['naam'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
// IP van de verstuurder
if(getenv($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = getenv($_SERVER['HTTP_X_FORWARDED_FOR']);
} elseif(getenv($_SERVER['HTTP_CLIENT_IP'])) {
$ip = getenv($_SERVER['HTTP_CLIENT_IP']);
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$host = gethostbyaddr($ip); // Host van verstuurder
if($html) {
// Headers
$headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// Bericht zoals je die ontvangt
$message = "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<style type=\"text/css\">
body {
border-right: 5px;
border-top: 5px;
border-left: 5px;
border-bottom: 5px;
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table {
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table, a:link {
color: #000;
text-decoration: none;
}
table, a:visited {
color: #000;
text-decoration: none;
}
table, a:hover {
color: #000;
font-weight: bold;
text-decoration: none;
}
</style>
</head>
<body>
<table>
<tr><td>Naam:</td><td>".$naam."</td></tr>
<tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
<tr><td>Tel:</td><td>".$telefoon."</td></tr>
<tr><td> </td><td></td>
</tr>
<tr>
<td>Onderwerp:</td>
<td>".$onderwerp."</td>
</tr>
<br />
<tr><td>Bericht:</td><td>".$bericht."</td>
</tr>
<tr><td colspan=\"2\"> </td><td> </td>
</tr>
<br />
<tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
<tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
<tr><td>Host:</td><td>".$host."</td></tr>
</table>
</body>
</html>";
}
// Pagina na foutmelding, verstuurd o.id.
?>
<html>
<head>
<title>Comsolid</title>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
.style4 {color: red; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<?
// Controleer op verboden woorden
function filterContentType($bericht){
$verbodenWoorden = array( "porno",
"viagra",
"sex",
"fuck",
"porn",
"drugs",
"neuken",
"fucking",
"penis",
"vagina",
"cialis",
"levitra",
"cock",
"horny",
$bericht);
foreach ($_POST as $key => $value){
foreach ($verbodenWoorden as $keyVB => $valueVB){
if (stristr($value, $valueVB)) {
echo "<strong><font class=\"style4\">Anti spam!</font></strong><BR><BR>
<font class=\"style5\">Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.<BR><BR>
<a href=\"javascript:history.back()\">Ga terug</a></font>";
exit;
}
}
reset($verbodenWoorden);
}
return;
}
filterContentType();
// Mail Checker
function checkmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
// Functie om telefoonnummer te controleren
function checktelefoon($telefoon)
{
// Verwijder eerst alle niet-nummerieke tekens
$telefoon = ereg_replace( "[^0-9]", "", $telefoon );
// Controleer of de string bestaat uit cijfers van 0 tot 9
// Controleer of de string bestaat uit 10 cijfers
if(ereg ('^[0-9]{10}$', $telefoon))
$valid = 1;
return $valid;
}
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{
// Alles Controleren Wanneer er op Verzenden wordt gedrukt
if(isset($_POST['verzenden']))
{
$fout = "";
if((empty($naam)) OR (strlen($naam) < 3) OR (eregi(">", $naam)))
{
$fout .= "U bent vergeten uw naam in te vullen! <BR><BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "text_fout";
}
if((empty($email)) OR (strlen($email) < 1) OR (eregi(">", $email)))
{
$fout .= "U bent vergeten uw e-mail adres in te vullen! <BR><BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "text_fout";
}
elseif(checkmail($email) == 0)
{
$fout .= "U heeft geen correct e-mail adres ingevuld! <BR><BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "text_fout";
}
if((empty($telefoon)) OR (strlen($telefoon) < 1) OR (eregi(">", $telefoon)))
{
$fout .= "U bent vergeten uw telefoonnummer in te vullen! <BR><BR>";
unset($email);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
elseif(checktelefoon($telefoon) == 0)
{
$fout .= "U heeft geen correct telefoonnummer ingevuld! <BR><BR>";
unset($telefoon);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
{
$fout .= "U bent vergeten een onderwerp in te vullen! <BR><BR>";
unset($onderwerp);
$fout_vakje_onderwerp = "input_fout";
$fout_text_onderwerp = "text_fout";
}
if(empty($bericht))
{
$fout .= "U bent vergeten een bericht in te vullen! <BR><BR>";
unset($bericht);
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
elseif(strlen($bericht) < 6)
{
$fout .= "Uw bericht is te kort! <BR>";
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
if(!$fout_text)
{
unset($fout_text_naam);
unset($fout_text_email);
unset($fout_text_onderwerp);
unset($fout_text_bericht);
}
if(!$fout_vakje)
{
unset($fout_vakje_naam);
unset($fout_vakje_email);
unset($fout_vakje_onderwerp);
unset($fout_vakje_bericht);
}
if(!empty($fout))
{
echo "<font class=\"style4\"><strong>Foutje...</strong></font><font class=\"style5\"><BR><BR>$fout</font>"; // Weergeven van de fout(en) ?>
</p>
</blockquote>
<p align="left" class="style5"><a href="javascript:history.back()">
Ga terug</a>
</p>
</body></html>
<?
}
else
{
mail($wm_email,$onderwerp,$message,$headers);
// Bericht als mail succesvol is verzonden
?>
<html>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<body>
<p align="left" class="style5"><strong>Uw mail is verzonden!</strong><br>
<br>
Bedankt voor uw e-mail! Wij nemen, indien nodig, zo spoedig mogelijk contact met u op.</p>
</body>
</html>
<?
// cookie zetten tegen spam
setcookie("mailformulier",1,time()+($Anti_Spam*60));
// formulier wordt niet weer getoond
$Formulier = FALSE;
header("refresh:6;url=".$site."");
}
}
}
else {
$Formulier = FALSE;
?>
<html>
<head>
<style type="text/css">
<!--
.style3 {color: #136bcc; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<body>
<p align="left" class="style5"><strong>Spam beveiliging!</strong></p>
<p align="left" class="style5">U kunt maar eens in de 5 minuten een e-mail versturen om spam-berichten te voorkomen. <br><br>
</p>
<p align="left" class="style5"><a href="javascript:history.back()">
Ga terug</a>
</p>
</body>
</html>
<?
header("refresh:6;url=".$site."");
}
if(!isset($Formulier))
{
?>
<?
}
?>
ob_start(); // Voor Cookie setten
// Config Gedeelte
$site = "website na foutmelding";
$wm_naam = "naaaam"; // Webmaster naam
$wm_email = "[email protected]"; // Webmaster E-mail
$Anti_Spam = "5";
$fout_text = TRUE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$fout_vakje = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$html = TRUE; // Een HTML email
// Hierna hoef je niks meer te veranderen!
$naam = $_POST['naam'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
// IP van de verstuurder
if(getenv($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = getenv($_SERVER['HTTP_X_FORWARDED_FOR']);
} elseif(getenv($_SERVER['HTTP_CLIENT_IP'])) {
$ip = getenv($_SERVER['HTTP_CLIENT_IP']);
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$host = gethostbyaddr($ip); // Host van verstuurder
if($html) {
// Headers
$headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// Bericht zoals je die ontvangt
$message = "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<style type=\"text/css\">
body {
border-right: 5px;
border-top: 5px;
border-left: 5px;
border-bottom: 5px;
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table {
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table, a:link {
color: #000;
text-decoration: none;
}
table, a:visited {
color: #000;
text-decoration: none;
}
table, a:hover {
color: #000;
font-weight: bold;
text-decoration: none;
}
</style>
</head>
<body>
<table>
<tr><td>Naam:</td><td>".$naam."</td></tr>
<tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
<tr><td>Tel:</td><td>".$telefoon."</td></tr>
<tr><td> </td><td></td>
</tr>
<tr>
<td>Onderwerp:</td>
<td>".$onderwerp."</td>
</tr>
<br />
<tr><td>Bericht:</td><td>".$bericht."</td>
</tr>
<tr><td colspan=\"2\"> </td><td> </td>
</tr>
<br />
<tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
<tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
<tr><td>Host:</td><td>".$host."</td></tr>
</table>
</body>
</html>";
}
// Pagina na foutmelding, verstuurd o.id.
?>
<html>
<head>
<title>Comsolid</title>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
.style4 {color: red; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<?
// Controleer op verboden woorden
function filterContentType($bericht){
$verbodenWoorden = array( "porno",
"viagra",
"sex",
"fuck",
"porn",
"drugs",
"neuken",
"fucking",
"penis",
"vagina",
"cialis",
"levitra",
"cock",
"horny",
$bericht);
foreach ($_POST as $key => $value){
foreach ($verbodenWoorden as $keyVB => $valueVB){
if (stristr($value, $valueVB)) {
echo "<strong><font class=\"style4\">Anti spam!</font></strong><BR><BR>
<font class=\"style5\">Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.<BR><BR>
<a href=\"javascript:history.back()\">Ga terug</a></font>";
exit;
}
}
reset($verbodenWoorden);
}
return;
}
filterContentType();
// Mail Checker
function checkmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
// Functie om telefoonnummer te controleren
function checktelefoon($telefoon)
{
// Verwijder eerst alle niet-nummerieke tekens
$telefoon = ereg_replace( "[^0-9]", "", $telefoon );
// Controleer of de string bestaat uit cijfers van 0 tot 9
// Controleer of de string bestaat uit 10 cijfers
if(ereg ('^[0-9]{10}$', $telefoon))
$valid = 1;
return $valid;
}
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{
// Alles Controleren Wanneer er op Verzenden wordt gedrukt
if(isset($_POST['verzenden']))
{
$fout = "";
if((empty($naam)) OR (strlen($naam) < 3) OR (eregi(">", $naam)))
{
$fout .= "U bent vergeten uw naam in te vullen! <BR><BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "text_fout";
}
if((empty($email)) OR (strlen($email) < 1) OR (eregi(">", $email)))
{
$fout .= "U bent vergeten uw e-mail adres in te vullen! <BR><BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "text_fout";
}
elseif(checkmail($email) == 0)
{
$fout .= "U heeft geen correct e-mail adres ingevuld! <BR><BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "text_fout";
}
if((empty($telefoon)) OR (strlen($telefoon) < 1) OR (eregi(">", $telefoon)))
{
$fout .= "U bent vergeten uw telefoonnummer in te vullen! <BR><BR>";
unset($email);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
elseif(checktelefoon($telefoon) == 0)
{
$fout .= "U heeft geen correct telefoonnummer ingevuld! <BR><BR>";
unset($telefoon);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
{
$fout .= "U bent vergeten een onderwerp in te vullen! <BR><BR>";
unset($onderwerp);
$fout_vakje_onderwerp = "input_fout";
$fout_text_onderwerp = "text_fout";
}
if(empty($bericht))
{
$fout .= "U bent vergeten een bericht in te vullen! <BR><BR>";
unset($bericht);
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
elseif(strlen($bericht) < 6)
{
$fout .= "Uw bericht is te kort! <BR>";
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
if(!$fout_text)
{
unset($fout_text_naam);
unset($fout_text_email);
unset($fout_text_onderwerp);
unset($fout_text_bericht);
}
if(!$fout_vakje)
{
unset($fout_vakje_naam);
unset($fout_vakje_email);
unset($fout_vakje_onderwerp);
unset($fout_vakje_bericht);
}
if(!empty($fout))
{
echo "<font class=\"style4\"><strong>Foutje...</strong></font><font class=\"style5\"><BR><BR>$fout</font>"; // Weergeven van de fout(en) ?>
</p>
</blockquote>
<p align="left" class="style5"><a href="javascript:history.back()">
Ga terug</a>
</p>
</body></html>
<?
}
else
{
mail($wm_email,$onderwerp,$message,$headers);
// Bericht als mail succesvol is verzonden
?>
<html>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<body>
<p align="left" class="style5"><strong>Uw mail is verzonden!</strong><br>
<br>
Bedankt voor uw e-mail! Wij nemen, indien nodig, zo spoedig mogelijk contact met u op.</p>
</body>
</html>
<?
// cookie zetten tegen spam
setcookie("mailformulier",1,time()+($Anti_Spam*60));
// formulier wordt niet weer getoond
$Formulier = FALSE;
header("refresh:6;url=".$site."");
}
}
}
else {
$Formulier = FALSE;
?>
<html>
<head>
<style type="text/css">
<!--
.style3 {color: #136bcc; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<body>
<p align="left" class="style5"><strong>Spam beveiliging!</strong></p>
<p align="left" class="style5">U kunt maar eens in de 5 minuten een e-mail versturen om spam-berichten te voorkomen. <br><br>
</p>
<p align="left" class="style5"><a href="javascript:history.back()">
Ga terug</a>
</p>
</body>
</html>
<?
header("refresh:6;url=".$site."");
}
if(!isset($Formulier))
{
?>
<?
}
?>
Alvast bedankt!!!
Tim
Dit is zinloos. Kost alleen extra geheugen.
Later ga de $_POST door je filter halen maar $naam blijft dus ongefilterd.
Maar is het dan niet zo dat de controle van het vakje naam in zijn geheel niet meer werkt? Er zit namelijk ook een andere controle op het vakje naam. Of hij leeg is en een minimum aantal karakters heeft.
Op regel 36 en 75 wordt ie al gebruikt en de check gebeurt pas later.
Ik heb ook geprobeerd wat er gebeurt als ik wat verboden woorden invul in het naam-veld, maar deze herkent hij nog steeds.
Zo ja? welke
Ik ben er zojuist wel achter gekomen dat het probleem van niet aankomende mailtjes aan mijn host te verwijten was.
Nu zit ik alleen nog met de overige vragen.
De woorden-filter, wil ik net als de naam, e-mail, telefoon, onderwerp en bericht controle een foutmelding laten geven in datzelfde rijtje.
Dit is contact.php
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
<?
ob_start(); // Voor Cookie setten
// Headers
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Config
$site = "www,kujsksdjf,com";
$wm_naam = "lkugfdkgu";
$wm_email = "[email protected]";
$Anti_Spam = "5";
$fout_text = FALSE; // TRUE aan FALSE uit )
$fout_vakje = TRUE; // TRUE aan FALSE uit )
$html = TRUE; // HTML mail
$ip = $_SERVER['REMOTE_ADDR']; // IP verstuurder
$host = gethostbyaddr($ip); // Host verstuurder
// email controle
function checkmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
?>
<html>
<head>
<title>Comsolid</title>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
.style4 {color: red; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<p align="justify" class="style5"><strong>blablabalballab </strong><br>
<br>
blablabalbalablabalablablablalaba</p>
<?
// telefoonnummer controle
function checktelefoon($telefoon)
{
// Verwijder eerst alle niet-nummerieke tekens
$telefoon = ereg_replace( "[^0-9]", "", $telefoon );
// Controleer of de string bestaat uit cijfers van 0 tot 9
// Controleer of de string bestaat uit 10 cijfers
if(ereg ('^[0-9]{10}$', $telefoon))
$valid = 1;
return $valid;
}
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{
if(isset($_POST['wis']))
{
foreach ($_POST as $key => $value)
{
unset($value);
}
header("Location: ".$_SERVER['PHP_SELF']."");
}
// Alles Controleren Wanneer er op Verzenden wordt gedrukt
if(isset($_POST['verzenden']))
{
$naam = trim($_POST['naam']);
$email = trim($_POST['email']);
$telefoon = trim($_POST['telefoon']);
$onderwerp = trim($_POST['onderwerp']);
$bericht = trim($_POST['bericht']);
$fout = "";
if($html) {
// Headers
$headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// Bericht zoals je die ontvangt
$message = "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<style type=\"text/css\">
body {
border-right: 5px;
border-top: 5px;
border-left: 5px;
border-bottom: 5px;
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table {
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table, a:link {
color: #000;
text-decoration: none;
}
table, a:visited {
color: #000;
text-decoration: none;
}
table, a:hover {
color: #000;
font-weight: bold;
text-decoration: none;
}
</style>
</head>
<body>
<table>
<tr><td>Naam:</td><td>".$naam."</td></tr>
<tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
<tr><td>Tel:</td><td>".$telefoon."</td></tr>
<tr><td> </td><td></td>
</tr>
<tr>
<td>Onderwerp:</td>
<td>".$onderwerp."</td>
</tr>
<br />
<tr><td>Bericht:</td><td>".$bericht."</td>
</tr>
<tr><td colspan=\"2\"> </td><td> </td>
</tr>
<br />
<tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
<tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
<tr><td>Host:</td><td>".$host."</td></tr>
</table>
</body>
</html>";
}
else
{
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
// Headers
$headers = "From: \"Contact Formulier\" <".$wm_naam.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
// Bericht
$message = "Naam: ".$naam." \n";
$message .= "E-mail: ".$email." \n";
$message .= "Bericht:\n".$bericht_wrap." \n ";
$message .= " \n ";
$message .= "Datum: ".date("d-m-Y H:i:s")." \n";
$message .= "------------------------------------------------------- \n ";
$message .= "IP: ".$ip." \n ";
$message .= "Host: ".$host." \n ";
}
if((empty($naam)) OR (strlen($naam) < 3) OR (eregi(">", $naam)))
{
$fout .= "Geen naam! <BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "text_fout";
}
if((empty($email)) OR (strlen($email) < 1) OR (eregi(">", $email)))
{
$fout .= "Geen e-mail! <BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "text_fout";
}
elseif(checkmail($email) == 0)
{
$fout .= "Fout e-mail! <BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "text_fout";
}
if((empty($telefoon)) OR (strlen($telefoon) < 1) OR (eregi(">", $telefoon)))
{
$fout .= "Geen telefoonnummer! <BR>";
unset($telefoon);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
elseif(checktelefoon($telefoon) == 0)
{
$fout .= "Fout telefoonnummer! <BR>";
unset($telefoon);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
{
$fout .= "Geen onderwerp! <BR>";
unset($onderwerp);
$fout_vakje_onderwerp = "input_fout";
$fout_text_onderwerp = "text_fout";
}
if(empty($bericht))
{
$fout .= "Geen bericht! <BR>";
unset($bericht);
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
elseif(strlen($bericht) < 6)
{
$fout .= "Te kort bericht! <BR>";
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
if(!$fout_text)
{
unset($fout_text_naam);
unset($fout_text_email);
unset($fout_text_telefoon);
unset($fout_text_onderwerp);
unset($fout_text_bericht);
}
if(!$fout_vakje)
{
unset($fout_vakje_naam);
unset($fout_vakje_email);
unset($fout_vakje_telefoon);
unset($fout_vakje_onderwerp);
unset($fout_vakje_bericht);
}
if(!empty($fout))
{
echo "<img src=\"../images/icons/fail.gif\"><font class=\"style4\"><strong> Fout bij invullen.</strong></font><BR><BR>"; // Weergeven van de fout(en)
}
else
{
mail($wm_email,$onderwerp,$message,$headers);
// Bericht als mail succesvol is verzonden
echo "<img src=\"../images/icons/success.gif\"><font class=\"style5\"><strong> Uw bericht is succesvol verzonden!<BR><BR></strong>";
echo "Bedankt voor uw e-mail! Wij nemen, indien nodig, zo spoedig mogelijk contact met u op.</font>";
// cookie zetten tegen spam
setcookie("mailformulier",1,time()+($Anti_Spam*60));
// formulier wordt niet weer getoond
$Formulier = TRUE;
}
}
}
else {
$Formulier = FALSE;
echo "<img src=\"../images/icons/fail.gif\"><font class=\"style4\"><strong> Spam Beveiliging</strong></font><BR><BR>";
echo "<font class=\"style5\">U kunt maar eens in de $Anti_Spam minuten een e-mail versturen om spam berichten te voorkomen!</font>";
}
if(!isset($Formulier))
{
?>
<html>
<head>
<link href="../css/style_form.css" rel="stylesheet" type="text/css" />
<title>Contact Formulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table class="tabel" border="0" cellpadding="5" cellspacing="0" width="300">
<tr>
<td><form method="post" action="<? $_SERVER['PHP_SELF']; ?>"><tr>
<td bgcolor="#FFFFFF"><div align="left">
<table align="left">
<tr>
<td class="style5"><label for="naam">Naam:</label></td>
<td><input name="naam" type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td class="style5"><label for="email">Email:</label></td>
<td><input name="email" type="text" class="<? echo $fout_vakje_email; ?>" id="email" value="<? if (!empty($email)) { echo $email; } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td class="style5"><label for="telefoon">Tel. nr.:</label></td>
<td><input name="telefoon" type="text" class="<? echo $fout_vakje_telefoon; ?>" id="telefoon" value="<? if (!empty($telefoon)) { echo $telefoon; } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td class="style5"><label for="onderwerp">Onderwerp:</label></td>
<td><input name="onderwerp" type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td valign="top" class="style5"><label for="bericht">Bericht:</label></td>
<td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="40" rows="7"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input name="verzenden" type="submit" class="style5" id="verzenden" value="Verzenden" />
<input name="wis" type="reset" class="style5" id="wis" value="Wis velden" />
</td>
</tr>
</table>
<br>
</div></td>
</tr>
</form>
</tr>
</body>
</html>
<?
}
?>
ob_start(); // Voor Cookie setten
// Headers
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Config
$site = "www,kujsksdjf,com";
$wm_naam = "lkugfdkgu";
$wm_email = "[email protected]";
$Anti_Spam = "5";
$fout_text = FALSE; // TRUE aan FALSE uit )
$fout_vakje = TRUE; // TRUE aan FALSE uit )
$html = TRUE; // HTML mail
$ip = $_SERVER['REMOTE_ADDR']; // IP verstuurder
$host = gethostbyaddr($ip); // Host verstuurder
// email controle
function checkmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
?>
<html>
<head>
<title>Comsolid</title>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
.style4 {color: red; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<p align="justify" class="style5"><strong>blablabalballab </strong><br>
<br>
blablabalbalablabalablablablalaba</p>
<?
// telefoonnummer controle
function checktelefoon($telefoon)
{
// Verwijder eerst alle niet-nummerieke tekens
$telefoon = ereg_replace( "[^0-9]", "", $telefoon );
// Controleer of de string bestaat uit cijfers van 0 tot 9
// Controleer of de string bestaat uit 10 cijfers
if(ereg ('^[0-9]{10}$', $telefoon))
$valid = 1;
return $valid;
}
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{
if(isset($_POST['wis']))
{
foreach ($_POST as $key => $value)
{
unset($value);
}
header("Location: ".$_SERVER['PHP_SELF']."");
}
// Alles Controleren Wanneer er op Verzenden wordt gedrukt
if(isset($_POST['verzenden']))
{
$naam = trim($_POST['naam']);
$email = trim($_POST['email']);
$telefoon = trim($_POST['telefoon']);
$onderwerp = trim($_POST['onderwerp']);
$bericht = trim($_POST['bericht']);
$fout = "";
if($html) {
// Headers
$headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
// Bericht zoals je die ontvangt
$message = "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<style type=\"text/css\">
body {
border-right: 5px;
border-top: 5px;
border-left: 5px;
border-bottom: 5px;
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table {
font: 10px Verdana, Arial, Helvetica, sans-serif;
}
table, a:link {
color: #000;
text-decoration: none;
}
table, a:visited {
color: #000;
text-decoration: none;
}
table, a:hover {
color: #000;
font-weight: bold;
text-decoration: none;
}
</style>
</head>
<body>
<table>
<tr><td>Naam:</td><td>".$naam."</td></tr>
<tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
<tr><td>Tel:</td><td>".$telefoon."</td></tr>
<tr><td> </td><td></td>
</tr>
<tr>
<td>Onderwerp:</td>
<td>".$onderwerp."</td>
</tr>
<br />
<tr><td>Bericht:</td><td>".$bericht."</td>
</tr>
<tr><td colspan=\"2\"> </td><td> </td>
</tr>
<br />
<tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
<tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
<tr><td>Host:</td><td>".$host."</td></tr>
</table>
</body>
</html>";
}
else
{
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
// Headers
$headers = "From: \"Contact Formulier\" <".$wm_naam.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
// Bericht
$message = "Naam: ".$naam." \n";
$message .= "E-mail: ".$email." \n";
$message .= "Bericht:\n".$bericht_wrap." \n ";
$message .= " \n ";
$message .= "Datum: ".date("d-m-Y H:i:s")." \n";
$message .= "------------------------------------------------------- \n ";
$message .= "IP: ".$ip." \n ";
$message .= "Host: ".$host." \n ";
}
if((empty($naam)) OR (strlen($naam) < 3) OR (eregi(">", $naam)))
{
$fout .= "Geen naam! <BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "text_fout";
}
if((empty($email)) OR (strlen($email) < 1) OR (eregi(">", $email)))
{
$fout .= "Geen e-mail! <BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "text_fout";
}
elseif(checkmail($email) == 0)
{
$fout .= "Fout e-mail! <BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "text_fout";
}
if((empty($telefoon)) OR (strlen($telefoon) < 1) OR (eregi(">", $telefoon)))
{
$fout .= "Geen telefoonnummer! <BR>";
unset($telefoon);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
elseif(checktelefoon($telefoon) == 0)
{
$fout .= "Fout telefoonnummer! <BR>";
unset($telefoon);
$fout_vakje_telefoon = "input_fout";
$fout_text_telefoon = "text_fout";
}
if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
{
$fout .= "Geen onderwerp! <BR>";
unset($onderwerp);
$fout_vakje_onderwerp = "input_fout";
$fout_text_onderwerp = "text_fout";
}
if(empty($bericht))
{
$fout .= "Geen bericht! <BR>";
unset($bericht);
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
elseif(strlen($bericht) < 6)
{
$fout .= "Te kort bericht! <BR>";
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "text_fout";
}
if(!$fout_text)
{
unset($fout_text_naam);
unset($fout_text_email);
unset($fout_text_telefoon);
unset($fout_text_onderwerp);
unset($fout_text_bericht);
}
if(!$fout_vakje)
{
unset($fout_vakje_naam);
unset($fout_vakje_email);
unset($fout_vakje_telefoon);
unset($fout_vakje_onderwerp);
unset($fout_vakje_bericht);
}
if(!empty($fout))
{
echo "<img src=\"../images/icons/fail.gif\"><font class=\"style4\"><strong> Fout bij invullen.</strong></font><BR><BR>"; // Weergeven van de fout(en)
}
else
{
mail($wm_email,$onderwerp,$message,$headers);
// Bericht als mail succesvol is verzonden
echo "<img src=\"../images/icons/success.gif\"><font class=\"style5\"><strong> Uw bericht is succesvol verzonden!<BR><BR></strong>";
echo "Bedankt voor uw e-mail! Wij nemen, indien nodig, zo spoedig mogelijk contact met u op.</font>";
// cookie zetten tegen spam
setcookie("mailformulier",1,time()+($Anti_Spam*60));
// formulier wordt niet weer getoond
$Formulier = TRUE;
}
}
}
else {
$Formulier = FALSE;
echo "<img src=\"../images/icons/fail.gif\"><font class=\"style4\"><strong> Spam Beveiliging</strong></font><BR><BR>";
echo "<font class=\"style5\">U kunt maar eens in de $Anti_Spam minuten een e-mail versturen om spam berichten te voorkomen!</font>";
}
if(!isset($Formulier))
{
?>
<html>
<head>
<link href="../css/style_form.css" rel="stylesheet" type="text/css" />
<title>Contact Formulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table class="tabel" border="0" cellpadding="5" cellspacing="0" width="300">
<tr>
<td><form method="post" action="<? $_SERVER['PHP_SELF']; ?>"><tr>
<td bgcolor="#FFFFFF"><div align="left">
<table align="left">
<tr>
<td class="style5"><label for="naam">Naam:</label></td>
<td><input name="naam" type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td class="style5"><label for="email">Email:</label></td>
<td><input name="email" type="text" class="<? echo $fout_vakje_email; ?>" id="email" value="<? if (!empty($email)) { echo $email; } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td class="style5"><label for="telefoon">Tel. nr.:</label></td>
<td><input name="telefoon" type="text" class="<? echo $fout_vakje_telefoon; ?>" id="telefoon" value="<? if (!empty($telefoon)) { echo $telefoon; } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td class="style5"><label for="onderwerp">Onderwerp:</label></td>
<td><input name="onderwerp" type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" size="25" maxlength="30" /></td>
</tr>
<tr>
<td valign="top" class="style5"><label for="bericht">Bericht:</label></td>
<td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="40" rows="7"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input name="verzenden" type="submit" class="style5" id="verzenden" value="Verzenden" />
<input name="wis" type="reset" class="style5" id="wis" value="Wis velden" />
</td>
</tr>
</table>
<br>
</div></td>
</tr>
</form>
</tr>
</body>
</html>
<?
}
?>
Dit is de functie om bepaalde woorden te filteren. Deze wil ik er graag in hebben (geen probleem), maar de foutmelding ("Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.") wil ik graag in het rijtje van de andere fouten (zie contact.php).
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
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
<?
// Controleer op verboden woorden
function filterContentType($bericht){
$verbodenWoorden = array( "porno",
"viagra",
"sex",
"fuck",
"porn",
"drugs",
"neuken",
"fucking",
"penis",
"vagina",
"cialis",
"levitra",
"cock",
"horny",
$bericht);
foreach ($_POST as $key => $value){
foreach ($verbodenWoorden as $keyVB => $valueVB){
if (stristr($value, $valueVB)) {
echo "<strong><font class=\"style4\">Anti spam!</font></strong><BR><BR>
<font class=\"style5\">Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.<BR><BR>
<a href=\"javascript:history.back()\">Ga terug</a></font>";
exit;
}
}
reset($verbodenWoorden);
}
return;
}
filterContentType();?>
// Controleer op verboden woorden
function filterContentType($bericht){
$verbodenWoorden = array( "porno",
"viagra",
"sex",
"fuck",
"porn",
"drugs",
"neuken",
"fucking",
"penis",
"vagina",
"cialis",
"levitra",
"cock",
"horny",
$bericht);
foreach ($_POST as $key => $value){
foreach ($verbodenWoorden as $keyVB => $valueVB){
if (stristr($value, $valueVB)) {
echo "<strong><font class=\"style4\">Anti spam!</font></strong><BR><BR>
<font class=\"style5\">Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.<BR><BR>
<a href=\"javascript:history.back()\">Ga terug</a></font>";
exit;
}
}
reset($verbodenWoorden);
}
return;
}
filterContentType();?>
Gewijzigd op 01/01/1970 01:00:00 door Tim
http://www.swiftmailer.org/ gebruiken (gebruikte phpmailer). Dit ziet er lekker eenvoudig uit en werkt tot nu toe prima.
Dat staat overigens los van het filter dat je wilt gebruiken.
Versturen van email, ik ga vanaf nu Dat staat overigens los van het filter dat je wilt gebruiken.