PHP Script mailcontactformulier
Voor mijn website www.compuhulp.eu had ik een contactformulier gemaakt. Het formulier zelf heet contact.html. Aan dit formulier had ik een bestand met de naam contactformprocess.php gekoppeld met daarin het script met code om ervoor te zorgen dat als mensen het formulier invullen en versturen de gegegevens via de webserver in mijn mailbox binnen komen.
Als ik nu ga testen en ik ga naar mijn website en ik vul het formulier in en klik op de knop versturen dan blijkt dat het bericht wel in mijn inbox is aangekomen maar alleen zonder de inhoud van de inputvelden. Dit is wat ik zie:
Voornaam:
Tussen:
Achternaam:
Mailadres:
Besturingssysteem:
Opmerkingen:
Ik zie dus alleen de velden maar de inhoud is niet aangekomen!
Dit is het script:
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
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
<?php
/* Subject and Email Variables */
$emailSubject = '';
$webMaster = '[email protected]';
/* Gathering Data Variables */
$voornaamField = $_POST['voornaam'];
$tussenField = $_POST['tussen'];
$achternaamField = $_POST['achternaam'];
$mailadresField = $_POST['mailadres'];
$besturingssysteemField = $_POST['besturingssysteem'];
$opmerkingenField = $_POST['opmerkingen'];
$body = <<<EOD
<br><hr><br>
Voornaam : $voornaam <br>
Tussen : $tussen <br>
Achternaam : $achternaam <br>
Mailadres : $mailadres <br>
Besturingssysteem : $besturingssysteem <br>
Opmerkingen : $opmerkingen <br>
EOD;
$headers = "From: $mailadres\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail ($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$theResults = <<<EOD
<html>
<head>
<title>JakesWorks - travel made easy-Homepage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #f1f1f1;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #666666;
text-decoration: none;
}
-->
</style>
</head>
<div>
<div align="left">Bedankt voor u interesse! Uw email zal snel beantwoord worden!</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>
/* Subject and Email Variables */
$emailSubject = '';
$webMaster = '[email protected]';
/* Gathering Data Variables */
$voornaamField = $_POST['voornaam'];
$tussenField = $_POST['tussen'];
$achternaamField = $_POST['achternaam'];
$mailadresField = $_POST['mailadres'];
$besturingssysteemField = $_POST['besturingssysteem'];
$opmerkingenField = $_POST['opmerkingen'];
$body = <<<EOD
<br><hr><br>
Voornaam : $voornaam <br>
Tussen : $tussen <br>
Achternaam : $achternaam <br>
Mailadres : $mailadres <br>
Besturingssysteem : $besturingssysteem <br>
Opmerkingen : $opmerkingen <br>
EOD;
$headers = "From: $mailadres\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail ($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$theResults = <<<EOD
<html>
<head>
<title>JakesWorks - travel made easy-Homepage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #f1f1f1;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #666666;
text-decoration: none;
}
-->
</style>
</head>
<div>
<div align="left">Bedankt voor u interesse! Uw email zal snel beantwoord worden!</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>
Heeft iemand van jullie een idee waar de bug zit??
Please let me know!
- Foutafhandeling ontbreekt
- Jan en allemaal kan het misbruiken voor spam
- Variabelen horen buiten quotes (regel 60)
- Vieze en onleesbare heredocs...
Mijna dvies is dit script vanaf scratch, en dus vanaf de grond aan opnieuw opbouwen.
Dit wil je niet eens draaien...
Gewijzigd op 08/11/2010 11:41:09 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$body = <<<EOD
<br><hr><br>
Voornaam : $voornaam <br>
Tussen : $tussen <br>
Achternaam : $achternaam <br>
Mailadres : $mailadres <br>
Besturingssysteem : $besturingssysteem <br>
Opmerkingen : $opmerkingen <br>
EOD;
?>
$body = <<<EOD
<br><hr><br>
Voornaam : $voornaam <br>
Tussen : $tussen <br>
Achternaam : $achternaam <br>
Mailadres : $mailadres <br>
Besturingssysteem : $besturingssysteem <br>
Opmerkingen : $opmerkingen <br>
EOD;
?>
wat is dat eigenlijk? heb dat nog nooit eerder gezien.
Menig editor snapt er de ballen van....
Toevoeging op 08/11/2010 21:42:35:
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
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
<html>
<head>
<title>JakesWorks - travel made easy-Homepage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #f1f1f1;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #666666;
text-decoration: none;
}
-->
</style>
</head>
<body>
<div align="left">
<?php
/* Subject and Email Variables */
$emailSubject = 'Jouw onderwerp';
$webMaster = '[email protected]';
$opmerkingenField = $_POST['opmerkingen'];
$body = "
Voornaam : ".$_POST['voornaam']."<br />
Tussenvoegsel : ".$_POST['tussen']." <br />
Achternaam : ".$_POST['achternaam']." <br />
Mailadres : ".$_POST['mailadres']." <br />
Besturings-systeem : ".$_POST['besturingssysteem']."<br />
Opmerkingen : ".$_POST['opmerkingen']."<br />";
/* Let's start the script....*/
if($_SERVER['REQUEST_METHOD'] =="POST") {
$headers = "From: ".$_POST['mailadres']."\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
if($success) {
echo "Je aanvraag is verzonden.";
} else {
echo "Je aanvraag is niet verzonden door een technische fout aan onze kant.";
}
?>
</div>
</body>
<head>
<title>JakesWorks - travel made easy-Homepage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #f1f1f1;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #666666;
text-decoration: none;
}
-->
</style>
</head>
<body>
<div align="left">
<?php
/* Subject and Email Variables */
$emailSubject = 'Jouw onderwerp';
$webMaster = '[email protected]';
$opmerkingenField = $_POST['opmerkingen'];
$body = "
Voornaam : ".$_POST['voornaam']."<br />
Tussenvoegsel : ".$_POST['tussen']." <br />
Achternaam : ".$_POST['achternaam']." <br />
Mailadres : ".$_POST['mailadres']." <br />
Besturings-systeem : ".$_POST['besturingssysteem']."<br />
Opmerkingen : ".$_POST['opmerkingen']."<br />";
/* Let's start the script....*/
if($_SERVER['REQUEST_METHOD'] =="POST") {
$headers = "From: ".$_POST['mailadres']."\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
if($success) {
echo "Je aanvraag is verzonden.";
} else {
echo "Je aanvraag is niet verzonden door een technische fout aan onze kant.";
}
?>
</div>
</body>
Ongetest...
Gewijzigd op 08/11/2010 11:48:10 door - Ariën -