PHP Script mailcontactformulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

CEM Du Pond

CEM Du Pond

08/11/2010 11:28:14
Quote Anchor link
Wie kan mij helpen,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";

    
?>



Heeft iemand van jullie een idee waar de bug zit??


Please let me know!
 
PHP hulp

PHP hulp

20/05/2024 02:21:59
 
- Ariën  -
Beheerder

- Ariën -

08/11/2010 11:40:29
Quote Anchor link
Veel, je script is zo brak als een kromme hoepel die nog krommer dan krom is:

- 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 -
 
Teun Hesseling

Teun Hesseling

08/11/2010 11:45:28
Quote Anchor link
apart stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
;
?>


wat is dat eigenlijk? heb dat nog nooit eerder gezien.
 
- Ariën  -
Beheerder

- Ariën -

08/11/2010 11:47:56
Quote Anchor link
Dat heet de here-doc. Een onoverzichtelijke wijze van echo'en.
Menig editor snapt er de ballen van....

Toevoeging op 08/11/2010 21:42:35:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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>

Ongetest...
Gewijzigd op 08/11/2010 11:48:10 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.