contact formulier
kan iemand mij helpen?
Dit staat in mijn 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
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
<?php
$paginanaam = "www";
$ip = $_SERVER["REMOTE_ADDR"];
$browser = $_SERVER['HTTP_USER_AGENT'];
$referer = $_SERVER['HTTP_REFERER'];
$scriptname = $_SERVER['SCRIPT_NAME'];
?>
<?php
$jaar = date("Y");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<p>
<form name="form" method="post" action="verwerking.php"><br /> <br />
<b>Contactformulier</b><br /> <br />
<label>Jouw naam:<br /><input type="text" name="name" size="40" maxlength="200" /></label><br /> <br />
<label>Jouw e-mail:<br /><input type="text" name="email" size="40" maxlength="100" /></label><br /> <br />
<label>Jouw opmerkingen:<br />(Gebruik geen "http" in je bericht)<br />
<textarea name="msg" cols="40" rows="6"></textarea></label><br /> <br />
<input name="paginanaam" type="hidden" value="<?php echo $paginanaam; ?>">
<input name="ip" type="hidden" value="<?php echo $ip; ?>">
<input name="browser" type="hidden" value="<?php echo $browser; ?>">
<input name="referer" type="hidden" value="<?php echo $referer; ?>">
<input name="scriptname" type="hidden" value="<?php echo $scriptname; ?>">
<input class="pointer" type="submit" name="Submit" value="Verzenden" /><br /> <br />
</form>
<!-- einde formulier -->
</p>
$paginanaam = "www";
$ip = $_SERVER["REMOTE_ADDR"];
$browser = $_SERVER['HTTP_USER_AGENT'];
$referer = $_SERVER['HTTP_REFERER'];
$scriptname = $_SERVER['SCRIPT_NAME'];
?>
<?php
$jaar = date("Y");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<p>
<form name="form" method="post" action="verwerking.php"><br /> <br />
<b>Contactformulier</b><br /> <br />
<label>Jouw naam:<br /><input type="text" name="name" size="40" maxlength="200" /></label><br /> <br />
<label>Jouw e-mail:<br /><input type="text" name="email" size="40" maxlength="100" /></label><br /> <br />
<label>Jouw opmerkingen:<br />(Gebruik geen "http" in je bericht)<br />
<textarea name="msg" cols="40" rows="6"></textarea></label><br /> <br />
<input name="paginanaam" type="hidden" value="<?php echo $paginanaam; ?>">
<input name="ip" type="hidden" value="<?php echo $ip; ?>">
<input name="browser" type="hidden" value="<?php echo $browser; ?>">
<input name="referer" type="hidden" value="<?php echo $referer; ?>">
<input name="scriptname" type="hidden" value="<?php echo $scriptname; ?>">
<input class="pointer" type="submit" name="Submit" value="Verzenden" /><br /> <br />
</form>
<!-- einde formulier -->
</p>
-----------------------------
Dit in verwerking.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
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
<?php
// datum laatste wijziging: 23 november 2007
// Invoer uit het contactformulier
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['msg'];
$paginanaam = $_POST['paginanaam'];
$ip = $_POST['ip'];
$browser = $_POST['browser'];
$referer = $_POST['referer'];
$scriptname = $_POST['scriptname'];
// extra variabelen
$ip2 = $_SERVER["REMOTE_ADDR"];
$browser2 = $_SERVER['HTTP_USER_AGENT'];
$referer2 = $_SERVER['HTTP_REFERER'];
$scriptname2 = $_SERVER['SCRIPT_NAME'];
// datum
$jaar = date("Y");
$maand = date("m");
$dag = date("d");
$datum = $dag . " " . $maand . " " . $jaar;
$tijd = time();
// emailadres waar de berichten heen moeten
// hier moet je dus je eigen emailadres neerzetten!
$mijnadres = "[email protected]";
// de naam van je website
// hier moet je dus de naam van je eigen website neerzetten!
$mijnsite = "www.quantum.nl-web.com";
// ongewenste emaildomeinen in een array:
$xmail = array("@cepk.info", "ceprk.info", "@gawab.com", "@mail.ru", "@yandex.com", "@gates.com");
$xmaildomein = "";
function is_substr($needle, $haystack){
$pos = strpos($haystack, $needle);
if ($pos === false) {
return false;
} else {
return true;
}
}
// Fouten en veiligheidscontroles
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 "Fout: Ongeldig E-Mail Adres";
exit;
}
// ongewenste emaildomeinen filteren
foreach ($xmail as $xmaildomein) {
if ( is_substr($xmaildomein,$email))
{
print "Fout: Ongewenst E-Mail Adres";
exit;
}
}
// filteren op http
if ( is_substr("http",$message))
{
print "Fout: Gebruik geen http in je bericht";
exit;
}
// referer controleren op geldigheid
if ( $referer != "")
{
if ( !eregi("^http:",$referer ) )
{
print "Fout: Ongeldige referer";
exit;
}
if ( is_substr(" ",$referer))
{
print "Fout: Ongeldige referer";
exit;
}
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
print "Fout: Ongeldige Naam";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Fout: Ongeldig Header Field Gevonden";
exit;
}
if ( !$message )
{
print "Fout: Geen Bericht";
exit;
}
if ( !$scriptname )
{
print "Fout: Ongeldige toegang";
exit;
}
if ( !$browser )
{
print "Fout: Ongeldige toegang";
exit;
}
if ( $browser != $browser2 )
{
print "Fout: Ongeldige toegang";
exit;
}
if ( $ip != $ip2 )
{
print "Fout: Ongeldige toegang";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Fout: Ongeldig E-Mail Adres";
exit;
}
if (FALSE) {
print "Fout: Je kunt geen bericht sturen naar een adres op hetzelfde domein.";
exit;
}
// E-mail opstellen
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "Van: bezoeker <[email protected]>\n";
$recipient = $mijnadres "[email protected]";
$subject = "Contact via $mijnsite $datum $tijd";
$mssg = "Via: $paginanaam $scriptname $referer2\n";
$mssg .= "Browser: $browser\n";
$mssg .= "Referer: $referer\n";
$mssg .= "Verwerking: $scriptname2\n";
$mssg .= "=== AFZENDER ========\n";
$mssg .= "$name <$email> IP-adres: $ip\n";
$mssg .= "=== BEGIN BERICHT ======\n\n";
$mssg .= "$message\n\n";
$mssg .= "=== EINDE BERICHT ======\n";
$message = $mssg;
// E-mail verzenden
mail($recipient, $subject, $message, $headers);
// Doorsturen naar dank-je-wel-pagina
header("location: thnx.html");
?>
// datum laatste wijziging: 23 november 2007
// Invoer uit het contactformulier
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['msg'];
$paginanaam = $_POST['paginanaam'];
$ip = $_POST['ip'];
$browser = $_POST['browser'];
$referer = $_POST['referer'];
$scriptname = $_POST['scriptname'];
// extra variabelen
$ip2 = $_SERVER["REMOTE_ADDR"];
$browser2 = $_SERVER['HTTP_USER_AGENT'];
$referer2 = $_SERVER['HTTP_REFERER'];
$scriptname2 = $_SERVER['SCRIPT_NAME'];
// datum
$jaar = date("Y");
$maand = date("m");
$dag = date("d");
$datum = $dag . " " . $maand . " " . $jaar;
$tijd = time();
// emailadres waar de berichten heen moeten
// hier moet je dus je eigen emailadres neerzetten!
$mijnadres = "[email protected]";
// de naam van je website
// hier moet je dus de naam van je eigen website neerzetten!
$mijnsite = "www.quantum.nl-web.com";
// ongewenste emaildomeinen in een array:
$xmail = array("@cepk.info", "ceprk.info", "@gawab.com", "@mail.ru", "@yandex.com", "@gates.com");
$xmaildomein = "";
function is_substr($needle, $haystack){
$pos = strpos($haystack, $needle);
if ($pos === false) {
return false;
} else {
return true;
}
}
// Fouten en veiligheidscontroles
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 "Fout: Ongeldig E-Mail Adres";
exit;
}
// ongewenste emaildomeinen filteren
foreach ($xmail as $xmaildomein) {
if ( is_substr($xmaildomein,$email))
{
print "Fout: Ongewenst E-Mail Adres";
exit;
}
}
// filteren op http
if ( is_substr("http",$message))
{
print "Fout: Gebruik geen http in je bericht";
exit;
}
// referer controleren op geldigheid
if ( $referer != "")
{
if ( !eregi("^http:",$referer ) )
{
print "Fout: Ongeldige referer";
exit;
}
if ( is_substr(" ",$referer))
{
print "Fout: Ongeldige referer";
exit;
}
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
print "Fout: Ongeldige Naam";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Fout: Ongeldig Header Field Gevonden";
exit;
}
if ( !$message )
{
print "Fout: Geen Bericht";
exit;
}
if ( !$scriptname )
{
print "Fout: Ongeldige toegang";
exit;
}
if ( !$browser )
{
print "Fout: Ongeldige toegang";
exit;
}
if ( $browser != $browser2 )
{
print "Fout: Ongeldige toegang";
exit;
}
if ( $ip != $ip2 )
{
print "Fout: Ongeldige toegang";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Fout: Ongeldig E-Mail Adres";
exit;
}
if (FALSE) {
print "Fout: Je kunt geen bericht sturen naar een adres op hetzelfde domein.";
exit;
}
// E-mail opstellen
$headers = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "Van: bezoeker <[email protected]>\n";
$recipient = $mijnadres "[email protected]";
$subject = "Contact via $mijnsite $datum $tijd";
$mssg = "Via: $paginanaam $scriptname $referer2\n";
$mssg .= "Browser: $browser\n";
$mssg .= "Referer: $referer\n";
$mssg .= "Verwerking: $scriptname2\n";
$mssg .= "=== AFZENDER ========\n";
$mssg .= "$name <$email> IP-adres: $ip\n";
$mssg .= "=== BEGIN BERICHT ======\n\n";
$mssg .= "$message\n\n";
$mssg .= "=== EINDE BERICHT ======\n";
$message = $mssg;
// E-mail verzenden
mail($recipient, $subject, $message, $headers);
// Doorsturen naar dank-je-wel-pagina
header("location: thnx.html");
?>
Gewijzigd op 01/01/1970 01:00:00 door Johan
2) Toon relevante code
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
4) Duurt het lang voordat de mail verstuurd is?
Haal de header eens weg en kijk dan eens of je foutmeldingen krijgt. Het kan zijn dat de mailserver niet goed geconfigureerd is.
ik zal vanmiddag de header weghalen en dan kijken of hij het doet.
Johan
en kun je ook zeggen wat er fout aan de headers is, en wat het dan wel moet zijn.
Johan
Johan schreef op 05.03.2009 13:38:
ik draai hem op een home server met WAMP.
en kun je ook zeggen wat er fout aan de headers is, en wat het dan wel moet zijn.
Johan
en kun je ook zeggen wat er fout aan de headers is, en wat het dan wel moet zijn.
Johan
Draai je dan ook een mailserver? Vast niet. Dan moet je in php.ini de smtp server opgeven.
Maar wat moet je dan precies in dat php.ini inzetten?
Johan
Zie php.ini en zoek even op 'smtp' in die file.
Johan schreef op 05.03.2009 15:56:
Maar wat moet je dan precies in dat php.ini inzetten?
Vul hier een smtp server in waar je toegang tot hebt, meestal de smtp van je provider, omdat je tot andere niet zomaar toegang hebt.
Johan