Foutmeldingen contactformulier
contactscript.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
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
<?php
// VALUES FROM THE FORM
$bedrijf = $_POST['bedrijf'];
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$message = $_POST['vraag'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
print "Error: Invalid E-Mail Address";
exit;
}
if ( ( !$naam ) ||
( strlen($naam) > 100 ) ||
( preg_match("/[:=@\<\>]/", $naam) )
)
{
print "Error: Invalid Name";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$message )
{
print "Error: No Message";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Invalid E-Mail Address";
exit;
}
if (FALSE) {
print "Error: You cannot send to an email address on the same domain.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "Vraag via website";
$message = "Bedrijf: $bedrijf \n
Naam: $naam \n
Adres: $adres \n
Telefoon: $telefoon \n
Email: $email \n
Bericht: \n\n" . wordwrap($message, 2048);
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.mijndomein.nl/bedankt.html");
?>
// VALUES FROM THE FORM
$bedrijf = $_POST['bedrijf'];
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$telefoon = $_POST['telefoon'];
$email = $_POST['email'];
$message = $_POST['vraag'];
// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
print "Error: Invalid E-Mail Address";
exit;
}
if ( ( !$naam ) ||
( strlen($naam) > 100 ) ||
( preg_match("/[:=@\<\>]/", $naam) )
)
{
print "Error: Invalid Name";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$message )
{
print "Error: No Message";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Invalid E-Mail Address";
exit;
}
if (FALSE) {
print "Error: You cannot send to an email address on the same domain.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "Vraag via website";
$message = "Bedrijf: $bedrijf \n
Naam: $naam \n
Adres: $adres \n
Telefoon: $telefoon \n
Email: $email \n
Bericht: \n\n" . wordwrap($message, 2048);
// SEND THE EMAIL TO YOU
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: http://www.mijndomein.nl/bedankt.html");
?>
en hier mijn formulier:
<form action="http://www.mijndomein.nl/contactscript.php" method="post" id="contactform">
<table width="97%">
<tr>
<td width="145" align="left" valign="top" class="body" id="bedrijf"><strong>Bedrijf:</strong></td>
<td width="280" align="left" valign="top"><input name="bedrijf" type="text" size="30" /></td>
</tr>
<tr>
<td align="left" valign="top" class="body" id="naam"><strong>Naam:</strong></td>
<td align="left" valign="top"><input name="naam" type="text" size="30" /></td>
</tr>
<tr>
<td align="left" valign="top" class="body" id="adres"><strong>Adres: </strong></td>
<td align="left" valign="top"><input name="adres" type="text" size="30" /></td>
</tr>
<tr>
<td align="left" valign="top" class="body" id="telefoon"><strong> Telefoon: </strong></td>
<td align="left" valign="top"><input name="telefoon" type="text" size="30" /></td>
</tr>
<tr>
<td align="left" valign="top" class="body" id="email"><strong> Email: </strong></td>
<td align="left" valign="top"><span id="sprytextfield1">
<input name="email" type="text" size="30" />
<span class="textfieldRequiredMsg">Een e-mailadres invullen is verplicht.</span><span class="textfieldInvalidFormatMsg">Dit is geen geldig e-mailadres.</span></span></td>
</tr>
<tr>
<td align="left" valign="top" class="body" id="vraag"><strong> Vragen / Opmerkingen: </strong></td>
<td align="left" valign="top"><textarea name="comments" cols="25" rows="6"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" class="button" value="Verzenden" /></td>
</tr>
</table>
</form>
je textarea heeft niet de naam vraag
$_POST['vraag'] bestaat niet.. Ik zie wel een comments. Dus gebruik $_POST['comments']
Verder is dit script verre van netjes, bij een foutmelding wil je geen exit; tonen, waarom zou je je script willen laten stoppen? Ook eregi() is verouderd, met preg_match kan je tegenwoordig veel beter uit de voeten.
Ook een controle of mail() wel/niet gelukt is zou erg handig zijn, het zou zelfs handiger kunnen zijn om bijv. phpMailer te gebruiken i.p.v. mail().
Gewijzigd op 25/10/2011 10:59:43 door - Ariën -
Mocht je het script voor me willen aanpassen dan houd ik mijn aanbevolen.
Bedankt,dat was het nog een vraagje; wat en hoe moet ik nog aanpassen in het script zodat je het formulier netjes uitgelijnd ontvangt [dus recht onder elkaar].Alvast bedankt
Gewijzigd op 25/10/2011 11:08:24 door ton damman
Zal ik gaan doen, bedankt voor de link. indien je dit script voor mij nog wilt aanpassen zou ik fijn vinden,en anders evenveel dank voor het oplossen van mijn probleem.
Wat houd je tegen om het zelf te proberen?
vooralsnog tijd en nog eens tijd.Maar ga zoals gezegd me erin verdiepen., het is dat ik deze site online wil hebben.vandaar mijn vraag.
Ik denk dat je in dat geval het beste in het Vacature forum een topic kan plaatsen, als je jouw script kant en klaar aangepast wilt zien.
Oke zal ik doen bedankt.
Ton damman op 25/10/2011 11:34:49:
Oke zal ik doen bedankt.
Te vinden op : http://www.phphulp.nl/php/forum/topic/vrijwillig-contoleren-en-aanpassen-mailscript/80753/last/