php verstuurd geen ingevuld gegevens mee
Ik tracht een webformulier aan te maken in een info html pagina
alles lukt en de email ontvang ik wel maar echter zonder de invulling,
kan iemand mij helpen wat ik verkeerd doe
hml code :
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
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
<div class="col-md-7">
<form id="form" method="post" action="form_mailer.php" class="wpcf7-form">
<div class="contact-item field-full">
<textarea id="message" name="message" type="text" cols="40" rows="10" placeholder="info *"></textarea>
</div>
<div class="contact-item">
<input id="name" name="name" type="text" placeholder="Naam *" required>
</div>
<div class="contact-item">
<input id="email" name="email" type="email" placeholder="Email *"required>
</div>
<div class="contact-item">
<input id="website" name="website" type="text" placeholder="Website">
</div>
<div class="contact-item form-submit">
<input id="submit" name="submit" type="submit" formenctype="text/plain" formmethod="POST" title="invulformulier website" value="verstuur">
</div>
</form>
</div>
PHP code :
<?php
/* These are the variable that tell the subject of the email and where the email will be sent.*/
$emailSubject = 'website formulier';
$mailto = 'info@**knip**.be';
/* These will gather what the user has typed into the fieled. */
$messageField = $_POST['message'];
$nameField= $_POST['name'];
$emailField = $_POST['email'];
$websiteField = $_POST['website'];
/* This takes the information and lines it up the way you want it to be sent in the email. */
$body = <<<EOD
<br><hr><br>
Info : $messageField <br>
Name : $nameField <br>
Email : $emailField <br>
Website : $websiteField <br>
<br><hr><br>
EOD;
$headers = "From: $emailField\r\n"; // This takes the email and displays it as who this email is from.
$header .= "Content-type: text/html; charset=iso-8859-1\r\n"; // This tells the server to turn the coding into the text.
$header .= "MIME-Version: 1.0\r\n";
$header .= "X-Priority: 2\r\n"; # 1 voor erg belangrijk
$header .= "X-MSMail-Priority: High\r\n";
$header .= "X-Mailer: PHP/".phpversion();
$success = mail($mailto, $emailSubject, $body, $header); // This tells the server what to send.
$theResults = <<<EOD
EOD;
echo "$theResults";
?>
<html>
<body>
Your message was successfully sent!<br />
<br />
Thank you for contacting us!
</body>
</html>
<form id="form" method="post" action="form_mailer.php" class="wpcf7-form">
<div class="contact-item field-full">
<textarea id="message" name="message" type="text" cols="40" rows="10" placeholder="info *"></textarea>
</div>
<div class="contact-item">
<input id="name" name="name" type="text" placeholder="Naam *" required>
</div>
<div class="contact-item">
<input id="email" name="email" type="email" placeholder="Email *"required>
</div>
<div class="contact-item">
<input id="website" name="website" type="text" placeholder="Website">
</div>
<div class="contact-item form-submit">
<input id="submit" name="submit" type="submit" formenctype="text/plain" formmethod="POST" title="invulformulier website" value="verstuur">
</div>
</form>
</div>
PHP code :
<?php
/* These are the variable that tell the subject of the email and where the email will be sent.*/
$emailSubject = 'website formulier';
$mailto = 'info@**knip**.be';
/* These will gather what the user has typed into the fieled. */
$messageField = $_POST['message'];
$nameField= $_POST['name'];
$emailField = $_POST['email'];
$websiteField = $_POST['website'];
/* This takes the information and lines it up the way you want it to be sent in the email. */
$body = <<<EOD
<br><hr><br>
Info : $messageField <br>
Name : $nameField <br>
Email : $emailField <br>
Website : $websiteField <br>
<br><hr><br>
EOD;
$headers = "From: $emailField\r\n"; // This takes the email and displays it as who this email is from.
$header .= "Content-type: text/html; charset=iso-8859-1\r\n"; // This tells the server to turn the coding into the text.
$header .= "MIME-Version: 1.0\r\n";
$header .= "X-Priority: 2\r\n"; # 1 voor erg belangrijk
$header .= "X-MSMail-Priority: High\r\n";
$header .= "X-Mailer: PHP/".phpversion();
$success = mail($mailto, $emailSubject, $body, $header); // This tells the server what to send.
$theResults = <<<EOD
EOD;
echo "$theResults";
?>
<html>
<body>
Your message was successfully sent!<br />
<br />
Thank you for contacting us!
</body>
</html>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 01/05/2018 22:50:59 door - Ariën -
([email protected])
Maar ik zou in ieder geval adviseren om die juiste headers te gebruiken:
http://wiki.phpbeginners.nl/index.php?title=De_juiste_mailheaders
Ok Ariën, ik bestuur deze verder alvast bedankt voor de richtinggevend advies
Johan Reyns op 26/04/2018 21:10:00:
Ik tracht een webformulier aan te maken in een info html pagina
Bedoel je dat de extensie html is van het bestand?
In dat geval zou het hele php stuk overigens niet werken.
Eerste stap die mij zinnig lijkt is om te zien of $body wel de goede inhoud heeft voordat het de mail ingaat. Dit zou je kunnen doen door in plaats van de mail direct te versturen eerst alle gegevens eens weer te geven op het scherm.
Daarmee kun je bepalen en uitsluiten of de invoer wel goed was.
Vervolgens zou je naar de tips van @Ariën kunnen kijken om mogelijk het e-mailbericht zelf beter te structureren.
En misschien zit de informatie wel in het e-mailbericht maar wordt deze niet goed getoond vanwege een verkeerde opbouw. Je kunt ook te allen tijde de broncde van het e-mailbericht bekijken in de e-mailclient. Wellicht zit alle informatie wel in het bericht maar gaat er iets anders mis.
Oftewel: deel je probleem eens in stukken op en loop hier stap voor stap doorheen. Dat is makkelijker dan helemaal aan het einde van de rit te concluderen dat iets niet klopt en dan allerlei dingen te veranderen en dan weer helemaal aan het einde van de rit te controleren of het dan wel goed gaat - je weet dan simpelweg niet wat er allemaal onderweg gebeurt of misgaat.
Dank u voor de tips, ik ga hiermee van start en test dit.
Ik gebruik php voor het eerst en dacht eerst dat er in de html pagina
een script moest vermeld worden die ervoor zorgt dat php wordt ingelezen.
maar de action verwijst inderdaad naar form_mailer.php
Ik ga zeker eens te werk gaan op u manier door stuk voor stuk te testen. Dit lijkt mij een zeer goed idee.
alvast bedankt voor jullie steun en weetjes
Edit:
Geen vraag aan admins en modjes, dus bij deze een move naar het juiste forum.