Uitgebreid contact formulier V2
Meestal hebben formulieren scripts die je hier ziet geen form herhaling. Daarom hebben we hier: Het contact formulier met form herhaling Versie 2.
De nieuwe versies heeft een aantal logische verbeteringen. Met dank voor alle reactie op het oude script. :)
Verbeteringen:
-echo() ipv print() omdat echo sneller is dan print
-de show_form functie word één keer uitgevoerd (vergelijk beide scripts maar)
-met radiobuttons selectere wie je mailt
-spamveilige radiobuttons
-onderwerpen
-betere controle op _GET en _POST
-betere email controle
Features
-Anti spam
-Makkelijke anti-spam controle
-Ip detectie
-Form herhaling
-Uitgebreide string-checking
-Email validatie/controle
-Datum in nederlands
-Tijd in ingestelde tijdzone
-Makkelijk in te stellen berichten
-Met radiobuttons selecteren wie je mailt
-Spamveilige radiobuttons
-Onderwerp selecteren
Installatie
Je hoeft alleen de bovenste variabelen wijzigen. Dit is een kaal formulier. Dat wil dus zeggen dat je je eigen design en stuff kan planten.
Je hebt echter wel enige kennis van php nodig om de array te begrijpen waar de emailadressen in staan.
Changlog:
09-11-05: Release
12-11-05: Grote bugfix
Gesponsorde koppelingen
PHP script bestanden
42 reacties op 'Uitgebreid contact formulier V2'
Gesponsorde koppelingen
een goed script maar ik heb juist een probleem.
Ik heb het gekopieerd en juist de emails veranderd.
Maar het werkt niet http://kljzaffelare.funpic.de/contact.php als je op versturen klikt komt het formulier terug en zie je niet van bedankt voor je mailtje.
Wie kan me helpen
Alvast bedankt
Pieter
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
Als ik de \n op het einde weg haal worden de headers wel juist meegestuurd. Met de \n op het einde erbij komt de Content-type en afzender gewoon in het e-mailtje zelf te staan.
Nu dit lijkt te werken heb ik als als probleem dat er naast het aangegeven afzenderadres ook root@mijnprovider.nl standaard mee verstuurd wordt.
Het enigste vreemde wat ik kan vinden is als ik naar de eigenschappen van de e-mail kijk is dat alles achter elkaar op 1 regel staat;
Weet iemand hoe deze beide problemen kan oplossen?
2. Doordat ik de \n moet weghalen wordt er in de header alles achter elkaar geschreven. Is dit op te lossen dat dit gewoon netjes onder elkaar weergegeven wordt? Als ik de \n laat staan worden de header niet meeverstuurd.
Warning: Cannot modify header information - headers already sent by (output started at /home/eagle/public_html/test/contact.php:11) in /home/eagle/public_html/test/includes/mail.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at /home/eagle/public_html/test/contact.php:11) in /home/eagle/public_html/test/includes/mail.php on line 14
Warning: Cannot modify header information - headers already sent by (output started at /home/eagle/public_html/test/contact.php:11) in /home/eagle/public_html/test/includes/mail.php on line 15
Warning: Cannot modify header information - headers already sent by (output started at /home/eagle/public_html/test/contact.php:11) in /home/eagle/public_html/test/includes/mail.php on line 16
Warning: Cannot modify header information - headers already sent by (output started at /home/eagle/public_html/test/contact.php:11) in /home/eagle/public_html/test/includes/mail.php on line 17
Heb de script in me website geinclude met deze code:
Kan iemand mij mischien helpen..?
Ook de hmtl output naar email werkt prima.
De opmaak van de te ontvangen email is nu leuk op te maken.
Ik zou er nog een extra optie in hebben.
Is het mogelijk om de mail naar meerdere email adressen te sturen?
Bv dat de verzenden ook de mail ontvangt, en er nog een extra email te kiezen is uit een list menu?
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
// ...
$err = false;
if (!checkstring($IN['naam'], $SETTINGS['naam_min'], $SETTINGS['naam_max'])) {
$err = 'Geen naam ingevoerd of je naam is te kort of te lang.';
} elseif (!checkstring($IN['email'], $SETTINGS['email_min'], $SETTINGS['email_max'])) {
$err = 'Geen email ingevoerd of je email is te kort of te lang.';
} elseif (!validate_email($IN['email']) && $SETTINGS['email_check'] == true) {
$err = 'Ongeldig email adres ingevoerd.';
} elseif (!checkstring($IN['titel'], $SETTINGS['titel_min'], $SETTINGS['titel_max'])) {
$err = 'Geen titel ingevoerd of je titel is te kort of te lang.';
} elseif (!checkstring($IN['bericht'], $SETTINGS['bericht_min'], $SETTINGS['bericht_max'])) {
$err = 'Geen bericht ingevoerd of je bericht is te kort of te lang.';
}
if ($err == false) {
$datum = get_date($SETTINGS['timezone'], $SETTINGS['adjustment']);
if (!sendmail($IN['naam'], $IN['email'], $IN['titel'], $IN['bericht'], $IN['ip'], $datum, $IN['to'], $IN['onderwerp'])) {
echo $SETTINGS['no_email'];
} else {
echo $SETTINGS['bericht_suc'];
setcookie('sendmail', "yeah", $SETTINGS['expire_cookie']);
}
} else {
show_form($IN['naam'], $IN['email'], $IN['titel'], $IN['bericht'], $err, $IN['to'], $IN['onderwerp']);
}
// ...
?>
Op deze manier krijgt de gebruiker fout voor fout te zien, terwijl de gebruiker dit natuurlijk ook gewoon in 1 keer kan (en wellicht wilt) zien.
Waarom maak je hier niet gewoon een errors array van en dat je deze direct terugstuurd naar je form:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// ...
$errors = array();
if (!checkstring($IN['naam'], $SETTINGS['naam_min'], $SETTINGS['naam_max'])) $errors['naam'] = 'melding';
if (!checkstring($IN['email'], $SETTINGS['email_min'], $SETTINGS['email_max'])) $errors['email'] = 'medling';
// ...
if (count($errors) == 0)
{
// Geen errors gevonden, verwerk data
}
else
{
// Alle foutmeldingen tegelijk terug sturen.
}
// ...
[/code]
ik gebruik het op deze website:
http://www.landbrugnaarchinatv.com/contact.php
het geeft steeds de error dat het verzenden van de mail mislukt. :(
Alvast bedankt voor jullie hulp
dit is mijn code
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
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
////////////////////////////////////////////////
/// Contact formulier met formherhaling
/// Gemaakt door Sebazzz
/// xhtml compatible
///////////////////////////////////////////
//output buffering aanzetten om leuke errors te verhelpen/voorkomen
ob_start();
//headers alvast instellen
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");
/////////////////////////////////////////////////////
/// Variablen die ingesteld moeten worden
/////////////////////////////////////////////////////
// Maanden, hoef je eigen niks aan te wijzigen, tenzij je
// natuurlijk de maanden in het engels wil ontvangen
$SETTINGS['maanden'] = array(
'01' => 'Januari',
'02' => 'Februari',
'03' => 'Maart',
'04' => 'April',
'05' => 'Mei',
'06' => 'Juni',
'07' => 'Juli',
'08' => 'Augustus',
'09' => 'September',
'10' => 'Oktober',
'11' => 'November',
'12' => 'December'
);
// email adres(sen) waar het naartoe moet
// naam_van_persoon => email adres
$SETTINGS['emails'] = array('drs. Linda Landbrug' => 'lindalandbrug@hotmail.com',
'XiomaX Webdesign' => 'rashidithebest@hotmail.com',);
//standaard persoon die aangekruist staat (email adres)
$SETTINGS['stdmail'] = 'drs. Linda Landbrug';
//onderwerpen gebruiken?
//true / false
$SETTINGS['do_onderwerpen'] = false;
//welke onderwerpen?
// id => onderwerp
$SETTINGS['onderwerpen'] = array(1 => 'Eigen verhaal',
2 => 'Suggestie',
3 => 'Vraag',
4 => 'Fout gezien',
);
//wat is het standaard onderwerp
// $SETTINGS['onderwerpen'][ id_van onderwerp ]
$SETTINGS['stdsub'] = $SETTINGS['onderwerpen'][1];
// html email of plain text? kies uit:
// text/html - text/plain
$SETTINGS['mime'] = 'text/html';
//datum formaat volgens php's date() functie
$SETTINGS['datum_formaat'] = 'd-m-Y H:i:s';
//tijdzone waar je in zit
$SETTINGS['timezone'] = -5;
//STA, Server Time Adjustment in minuten. Zegt het al...
$SETTINGS['adjustment'] = 0;
//input: minimale en maximale string lengte van naam?
$SETTINGS['naam_min'] = 2;
$SETTINGS['naam_max'] = 100;
//input: minimale en maximale string lengte van titel?
$SETTINGS['titel_min'] = 4;
$SETTINGS['titel_max'] = 40;
//input: minimale en maximale string lengte van titel?
$SETTINGS['email_min'] = 4;
$SETTINGS['email_max'] = 40;
//input: minimale en maximale string lengte van bericht? maximale woord lengte?
$SETTINGS['bericht_min'] = 10;
$SETTINGS['bericht_max'] = 10000;
$SETTINGS['bericht_wmx'] = 50;
//bericht dat weergegeven wordt bovenaan het formulier, html ingeschakelt
//hoeft er niks? laat dan staan
$SETTINGS['bericht_top'] = ' <p>Heeft u een vraag, suggestie of heeft u ergens een fout geziendan kunt u ons bereiken door onderstaand formulier intevullen. U kunt ook uw intregatie verhaal opsturen. Na goedkeuring plaatsen wij deze op de website</p> ';
//bericht dat weergegeven wordt nadat het emailtje successvol is verzonden
$SETTINGS['bericht_suc'] = 'Bedankt voor het versturen van een e-mail.';
$SETTINGS['bericht_suc'] .= 'Indien nodig dan zult u zo snel mogelijk een antwoord krijgen<br />';
$SETTINGS['bericht_suc'] .= 'We gaan vertrouwelijk met uw informatie om ';
$SETTINGS['bericht_suc'] .= 'en zal nooit aan derden worden gegeven.';
//kijken voor een geldige email adres? true voor ja, false voor nee
$SETTINGS['email_check'] = false;
//foutmelding om te weergeven als het verzenden van
//de email niet is gelukt(dus als mail() FALSE geeft)
//html ingeschakelt
$SETTINGS['no_email'] = 'Er is een fout opgetreden waardoor het email verzenden is mislukt...';
//foutmelding om te weergeven als degene al een emailtje heeft verzonden. html ingeschakelt
$SETTINGS['error_spam'] = 'U kunt maar 1 keer per 12 uur een bericht sturen. Probeert u het later nog een keer.';
//tijd wanneer het koekje beschimmeld raakt ( in andere taal: cookie verloop tijd)
$SETTINGS['expire_cookie'] = time() + (3600 * 12); //verloopt na een dag
/// niks meer te editen
// error reporting goed zetten
error_reporting(E_ALL ^ E_NOTICE);
//////////////////////////////
/// functies defineeren
////////////////////////////
function parse_incoming() {
////////////////////////////////////////////////
/// Deze functie geeft al het 'incoming' via
/// _POST en _GET terug. _POST heeft voorrang,
/// dus als een key in _GET al bestaat, wordt
/// de key overgeschreven
////////////////////////////////////////////////
/// array parse_incoming( void );
$return = array();
//eerst get,
foreach ($_GET as $k => $v) {
if (!is_array($v)) {
$return[ $k ] = clean_value($v);
}
}
//en dan post!
foreach ($_POST as $k => $v) {
if (!is_array($v)) {
$return[ $k ] = clean_value($v);
}
}
return $return;
}
function clean_value($val) {
global $site;
if ($val == "")
{
return "";
}
$val = str_replace( " ", " ", $val );
$val = str_replace( chr(0xCA), "", $val );
$val = str_replace( "&" , "&" , $val );
$val = str_replace( "<!--" , "<!--" , $val );
$val = str_replace( "-->" , "-->" , $val );
$val = preg_replace( "/<script/i" , "<script" , $val );
$val = str_replace( ">" , ">" , $val );
$val = str_replace( "<" , "<" , $val );
$val = str_replace( "\"" , """ , $val );
$val = preg_replace( "/\n/" , "<br>" , $val );
$val = preg_replace( "/\\\$/" , "$" , $val );
$val = preg_replace( "/\r/" , "" , $val );
$val = str_replace( "!" , "!" , $val );
$val = str_replace( "'" , "'" , $val );
$val = preg_replace("/&#([0-9]+);/s", "&#\\1;", $val );
$val = stripslashes($val);
$val = preg_replace( "/\\\(?!&#|\?#)/", "\", $val );
return $val;
}
function checkcookie() {
///////////////////////////////////////////////
/// Deze functie kijkt voor een cookie,
/// in dit geval of de gast al eens een
/// mailtje heeft gestuurd.
// geeft false voor ja, true voor nee
///////////////////////////////////////////////
/// boolean checkcookie( void );
if ($_COOKIE['sendmail'] == "yeah") {
return false;
}
return true;
}
function vervang_maand($datum) {
//////////////////////////////////////////////////
/// Deze functie gaat ervan uit dat $datum het
/// volgende datum formaat gebruikt:
/// d-m-Y H:i:xxxx
/// d/m/Y H:i:xxxx
/// d.m.y H:i:xxx
/// Je zou natuurlijk strftime() kunnen gebruiken
/// maar omdat we dan gebruik gaan maken van de
/// ingebakken taalpakketten van php en het kan
/// wel eens gebeuren dat men alleen engels
/// in die versie heeft gestopt en dus nederlands
/// niet ondersteund wordt.
////////////////////////////////////////////////
/// string vervang_maand(string date);
global $SETTINGS;
list($dag, $maand, $rest) = split('[/.-]', $datum);
foreach ($SETTINGS['maanden'] as $nummer => $naam) {
$maand = str_replace ($nummer, $naam, $maand);
}
$temp_array = array( $dag, $maand, $rest);
$datum = implode(" ", $temp_array);
return $datum;
}
function validate_email($input) {
///////////////////////////////////////
/// Kijkt of $input een geldig
/// email adres bevat
/////////////////////////////////////
/// boolean validate_email( string email );
if (!preg_match("/^[A-Za-z0-9._\-]+\@[A-Za-z0-9._\-]+\.[A-Za-z]{2,4}$/",$input)) {
return false;
}
return true;
}
function checkstring($input, $minstrlen = 3, $maxstrlen = 10000, $maxwordlen = 300) {
////////////////////////////////
/// Check $input string
/// Geeft false als het niet goed is
/// geeft true als de string $input
/// oke is
/////////////////////////////
/// boolean checkstring(string input, [int minimaal tekens, [int maximaal tekens, [int maximaal woord lengte]]]);
if (empty($input)) {
return false;
}
if (strlen($input) < $minstrlen) {
return false;
}
if (strlen($input) > $maxstrlen) {
return false;
}
$temp_array = explode(" ", $input);
foreach ($temp_array as $woord) {
if (strlen($woord) > $maxwordlen) {
return false;
}
}
return true;
}
function get_date($timezone = 1, $adjustment = 0) {
////////////////////////////////////////////////
/// Verkrijg de datum en tijd van een tijdzone
/////////////////////////////////////
/// string get_date( [int timezone, [int adjustment]] );
global $SETTINGS;
$adjustment = $adjustment / 60;
$date = gmdate($SETTINGS['datum_formaat'], time() + 3600*($adjustment + $timezone + date("I")));
return $date;
}
function show_form($naam = '', $email = '', $titel = '', $bericht = '', $error = false, $to = false, $onderwerp = false) {
///////////////////////////////////////////////
/// Laat formulier zien. Error als opgegeven
////////////////////////////////////////////////
/// void show_form( [string naam, [string email, [string titel, [string bericht, [string error]]]]] );
global $SETTINGS;
if ($error == false) {
$header = $SETTINGS['bericht_top'];
} else {
$header = '<span style="color:#FF0000;font-weight:bold;">'.$error.'</span>';
}
if ($to == false) {
$to = $SETTINGS['stdmail'];
}
if ($onderwerp == false) {
$onderwerp = $SETTINGS['stdsub'];
}
$t = $_SERVER['PHP_SELF'];
$s = explode("/", $_SERVER['PHP_SELF']);
$this_file = $s[ count($s) - 1 ];
require("header.php");
echo ("<div id=\"main\" style=\"height:760px\"><div id=\"maintop\"><div id=\"maintopleft\"></div><div id=\"maintopcenter\"><h1>Contact</h1></div><div id=\"maintopright\"></div></div><div id=\"mainleftborder\"></div><div id=\"maincontent\">");
echo '<form id="formie" name="contact" action="'.$this_file.'" method="post">';
echo '<input type="hidden" name="ip" value="'.$_SERVER['REMOTE_ADDR'].'" />';
echo '<input type="hidden" name="act" value="dosend" />';
echo '<table width="800" id="contacttable">'; //hier kun je eventueel nog style info aan toevoegen
echo '<tr><td colspan="2" align="center">'.$header.'</td></tr>
<tr><td align="left" valign="top"><span style="line-height:2em;">Ontvanger:</span></td><td align="left">';
foreach ($SETTINGS['emails'] as $name => $adres) {$name = htmlentities($name);echo '<input type="radio" name="to" value="'.str_replace('_', ' ', $name).'" id="'.str_replace('_', ' ', $name).'" ';if (strtolower($to) == strtolower($name)) {echo 'checked="checked" ';}echo '/><label for="'.str_replace('_', ' ', $name).'"> '.$name.'</label> ';} print '</td></tr>
<tr><td align="left" valign="top"><span style="line-height:2em;">Naam:</span></td><td align="left"><div class="rounded"><input type="text" name="naam" value="'.$naam.'" size="100" maxlength="'.$SETTINGS['naam_max'].'" /></div></td></tr>
<tr><td align="left" valign="top"><span style="line-height:2em;">E-mail:</span></td><td align="left"><div class="rounded"><input type="text" name="email" value="'.$email.'" size="75" maxlength="'.$SETTINGS['email_max'].'" /></div></td></tr>';
if ($SETTINGS['do_onderwerpen'] == true) {print '<tr><td align="left" valign="top">Onderwerp:</td>';
print '<td align="left"><select name="onderwerp">';
foreach ($SETTINGS['onderwerpen'] as $id => $sub) {
print '<option value="'.$id.'" ';
if ($sub == $onderwerp) {
print 'selected="selected"';
}
print '>'.htmlentities($sub).'</option>';
}
print '</select></td></tr>';
}
echo '<tr><td align="left" valign="top"><span style="line-height:2em;">Titel:</span></td><td align="left"><div class="rounded"><input type="text" name="titel" value="'.$titel.'" size="100" maxlength="'.$SETTINGS['titel_max'].'" /></div></td></tr>';
echo '<tr><td align="left" valign="top"><span style="line-height:2em;">Bericht:</span></td><td align="left">
<textarea id="textareabg" name="bericht" cols="75" rows="20" wrap="soft">'.$bericht.'</textarea></td></tr>';
echo '<tr><td> </td><td> </td></tr><tr><td align="center" colspan="2"><input type="image" src="img/verzenden.png" width="163" height="50" border="0" alt="Klik om te verzenden" /></td></tr>';
echo '</table></form>';
}
function sendmail($naam, $email, $titel, $bericht, $ip, $datum, $to, $onderwerp) {
//////////////////////////////////////////////
/// Stuurt emaitje. Gebruikt de $SETTINGS var
/// en geeft false als het niet lukt
/////////////////////////////////////////////
/// boolean sendmail( string naam, string email, string titel, string bericht, string ip);
global $SETTINGS;
$to = $SETTINGS['emails'][ str_replace(' ', '_', $to) ];
$sub = $SETTINGS['onderwerpen'][ $onderwerp ];
$subject = "Mailtje van je website - ".$naam.": ".$titel;
if ($SETTINGS['mime'] == "text/html") {
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$message = "<html><head>";
$message .= "</head><body>";
$message .= "U heeft een bericht gekregen via de website www.landbrugnaarchinatv.com!<br /><br />";
$message .= "<table>";
$message .= "<tr><td>Naam:</td><td>".$naam."</td></tr>";
$message .= "<tr><td>Email:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>";
$message .= "<tr><td>Titel:</td><td>".$titel."</td></tr>";
$message .= "<tr><td>Bericht:</td><td>".$bericht."</td></tr>";
$message .= "<tr><td colspan=\"2\"> </td></tr>";
$message .= "<tr><td>Datum:</td><td>".vervang_maand($datum)."</td></tr>";
$message .= "</table></body></html>";
} else {
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$message = "==============================================\n";
$message .= "Emailtje van een gast van je website!\n";
$message .= "==============================================\n";
$message .= "\n";
$message .= "Naam:\n";
$message .= $naam."\n\n";
$message .= "Email:\n";
$message .= $email."\n\n";
$message .= "Onderwerp:\n";
$message .= $sub."\n\n";
$message .= "Titel:\n";
$message .= $titel."\n\n";
$message .= "Bericht:\n";
$message .= $bericht."\n\n";
$message .= "\n";
$message .= "Datum:\n";
$message .= vervang_maand($datum)."\n\n";
$message .= "Ip adres:\n";
$message .= $ip."\n\n";
}
$headers .= "From: Php automailer <{$email}>\r\n";
if (!mail($to, $subject, $message, $headers)) {
return false;
}
return true;
}
///////////////////////////
/// En nu het script.....
///////////////////////////
$IN = parse_incoming();
if (checkcookie()) {
if ($IN['act'] != 'dosend') {
show_form();
} else {
$err = false;
if (!checkstring($IN['naam'], $SETTINGS['naam_min'], $SETTINGS['naam_max'])) {
$err = 'U heeft geen naam ingevoerd.';
} elseif (!checkstring($IN['email'], $SETTINGS['email_min'], $SETTINGS['email_max'])) {
$err = 'U heeft geen email ingevoerd of uw email is te kort of te lang.';
} elseif (!validate_email($IN['email']) && $SETTINGS['email_check'] == true) {
$err = 'Ongeldig email adres ingevoerd.';
} elseif (!checkstring($IN['titel'], $SETTINGS['titel_min'], $SETTINGS['titel_max'])) {
$err = 'U heeft geen titel ingevoerd of uw titel is te kort.';
} elseif (!checkstring($IN['bericht'], $SETTINGS['bericht_min'], $SETTINGS['bericht_max'])) {
$err = 'U heeft geen bericht ingevoerd of uw bericht is te kort.';
}
if ($err == false) {
$datum = get_date($SETTINGS['timezone'], $SETTINGS['adjustment']);
if (!sendmail($IN['naam'], $IN['email'], $IN['titel'], $IN['bericht'], $IN['ip'], $datum, $IN['to'], $IN['onderwerp'])) { require("header.php");echo ("<div id=\"main\" style=\"height:760px\"><div id=\"maintop\"><div id=\"maintopleft\"></div><div id=\"maintopcenter\"><h1>Contact</h1></div><div id=\"maintopright\"></div></div><div id=\"mainleftborder\"></div><div id=\"maincontent\">");
echo $SETTINGS['no_email']; echo ("<br/><br/>Onze excusses voor dit ongemak. U kunt ons ook direct mailen op het e-mail adress: lindalandbrug@hotmail.com <br/><br/><a href=\"contact.php\">Terug</a>");
} else {require("header.php");echo ("<div id=\"main\" style=\"height:760px\"><div id=\"maintop\"><div id=\"maintopleft\"></div><div id=\"maintopcenter\"><h1>Contact</h1></div><div id=\"maintopright\"></div></div><div id=\"mainleftborder\"></div><div id=\"maincontent\">");
echo $SETTINGS['bericht_suc'];
setcookie('sendmail', "yeah", $SETTINGS['expire_cookie']);
}
} else {
show_form($IN['naam'], $IN['email'], $IN['titel'], $IN['bericht'], $err, $IN['to'], $IN['onderwerp']);
}
}
} else {
echo $SETTINGS['error_spam'];
}
//laten we nu maar alles outputten, het is genoeg
//geweest voor deze keer en er komen toch
//geen headers meer ^^
ob_end_flush();
?>
</div>
Maar, kan ik het formulier ook laten verzenden door bijvoorbeeld Form@mijndomein.com ?
Zoja? hoe? :$
Grtz
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details

- 8 jaar geleden
- 3.239 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- Data verwerking
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu