PHP vraag email functie
Een vraagje ik wil graag een contactformulier maken, wat me ook gelukt is. Maar als iemand me een bericht stuurt via mijn contactformulier dan krijg ik wel zijn bericht te zien in mijn mailbox. Maar als ik een reply wil doen dan lukt dat niet. Omdat ik zijn e-mailadres niet zie. In plaats daarvan krijg ik het volgende te zien:
Ook heb ik geprobeerd om een reply te doen, maar als ik naar de inbox ga van Ogenpi dan zie ik geen bericht van Rekenkanjer. Dit komt waarschijnlijk omdat ik in eerste instantie al zijn e-mailadres niet kon lezen. Kan iemand me vertellen hoe ik dit kan oplossen?
Hier is de code, en vanaf regel 41 kunt u mijn mail functie zien:
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
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
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
require 'connect.inc.php';
require 'core.inc.php';
if (isset($_POST['contact_name']) && isset($_GET['contact_email']) && isset($_POST['contact_text'])) {
$contact_name = $_POST['contact_name'];
$contact_email = $_POST['contact_email'];
$contact_text = $_POST['contact_text'];
if (empty($contact_name) && empty($contact_email) && empty($contact_text)) {
echo'Je naam, e-mailadres en bericht is nodig';
}
if (!empty($contact_name) && !empty($contact_email) && !empty($contact_text)) {
if (strlen($contact_name) > 25 || strlen($contact_email) > 50 || strlen($contact_text) > 1000) {
echo 'Sorry de maximale invoer is overschreden';
}
if (filter_var($contact_email, FILTER_VALIDATE_EMAIL) === false) {
echo 'Dat is geen geldig e-mailadres';
}
if (ctype_alpha($contact_name) === false) {
echo'Je naam moet alleen uit letters bestaan';
}
$contact_name = strip_tags($contact_name);
$contact_name = stripslashes($contact_name);
$contact_email = strip_tags($contact_email);
$contact_email = stripslashes($contact_email);
$contact_text = strip_tags($contact_text);
$contact_text = stripslashes($contact_text);
$to = '[email protected]';
$subject = 'Contact form submitted.';
$body = $contact_name . "\n" . $contact_text;
$headers = 'Form: ' . $contact_email;
if (@mail($to, $subject, $body, $headers)) {
echo'Bedankt voor het verzenden van je bericht. We houden je spoedig op de hoogte';
//header('Location: member.php');
// exit();
} else {
echo'Sorry, een storing was aanwezig. Probeer het nog een keer';
}
}
} else {
echo 'All fields are required';
}
?>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Rekenkanjer</title>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<?php
//if (isset($_GET['sent']) == true) {
// echo '<p> Bedankt voor het versturen van je bericht.';
//}
// else
?>
<div id="big_wrapper">
<header id="top_header">
</header>
<nav id="top_menu">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="contactformulier.php">Contact</a></li>
</ul>
</nav>
<div id="new_div">
<section id="main_section1">
<h4>Contactformulier</h4>
Rekenkanjer biedt de mogelijkheid om je vraag via onderstaand formulier te stellen.
Je ontvangt zo spoedig mogelijk een antwoord van ons op het door jouw opgegeven e-mailadres.<br>
<form action="contactformulier.php" method="POST">
Name: <br> <input type="text" name="contact_name" maxlength="25"> <br><br>
Email adress:<br> <input type="text" name="contact_email" maxlength="50"><br><br>
Message: <br>
<textarea name="contact_text" rows="6" cols="30" maxlength="1000"></textarea>
<input type="submit" value="Send">
</form>
</section>
<aside id="side_score">
<h4>Inloggen:</h4>
<?php
if (loggedInUser()) {
header("Location: member.php");
} else {
include 'loginform.inc.php';
}
?>
</aside>
</div>
<footer id="the_footer">
Copyright Rekenkanjer KTV305 GetConnected 2013
</footer>
</div>
</body>
</html>
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
require 'connect.inc.php';
require 'core.inc.php';
if (isset($_POST['contact_name']) && isset($_GET['contact_email']) && isset($_POST['contact_text'])) {
$contact_name = $_POST['contact_name'];
$contact_email = $_POST['contact_email'];
$contact_text = $_POST['contact_text'];
if (empty($contact_name) && empty($contact_email) && empty($contact_text)) {
echo'Je naam, e-mailadres en bericht is nodig';
}
if (!empty($contact_name) && !empty($contact_email) && !empty($contact_text)) {
if (strlen($contact_name) > 25 || strlen($contact_email) > 50 || strlen($contact_text) > 1000) {
echo 'Sorry de maximale invoer is overschreden';
}
if (filter_var($contact_email, FILTER_VALIDATE_EMAIL) === false) {
echo 'Dat is geen geldig e-mailadres';
}
if (ctype_alpha($contact_name) === false) {
echo'Je naam moet alleen uit letters bestaan';
}
$contact_name = strip_tags($contact_name);
$contact_name = stripslashes($contact_name);
$contact_email = strip_tags($contact_email);
$contact_email = stripslashes($contact_email);
$contact_text = strip_tags($contact_text);
$contact_text = stripslashes($contact_text);
$to = '[email protected]';
$subject = 'Contact form submitted.';
$body = $contact_name . "\n" . $contact_text;
$headers = 'Form: ' . $contact_email;
if (@mail($to, $subject, $body, $headers)) {
echo'Bedankt voor het verzenden van je bericht. We houden je spoedig op de hoogte';
//header('Location: member.php');
// exit();
} else {
echo'Sorry, een storing was aanwezig. Probeer het nog een keer';
}
}
} else {
echo 'All fields are required';
}
?>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Rekenkanjer</title>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<?php
//if (isset($_GET['sent']) == true) {
// echo '<p> Bedankt voor het versturen van je bericht.';
//}
// else
?>
<div id="big_wrapper">
<header id="top_header">
</header>
<nav id="top_menu">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="contactformulier.php">Contact</a></li>
</ul>
</nav>
<div id="new_div">
<section id="main_section1">
<h4>Contactformulier</h4>
Rekenkanjer biedt de mogelijkheid om je vraag via onderstaand formulier te stellen.
Je ontvangt zo spoedig mogelijk een antwoord van ons op het door jouw opgegeven e-mailadres.<br>
<form action="contactformulier.php" method="POST">
Name: <br> <input type="text" name="contact_name" maxlength="25"> <br><br>
Email adress:<br> <input type="text" name="contact_email" maxlength="50"><br><br>
Message: <br>
<textarea name="contact_text" rows="6" cols="30" maxlength="1000"></textarea>
<input type="submit" value="Send">
</form>
</section>
<aside id="side_score">
<h4>Inloggen:</h4>
<?php
if (loggedInUser()) {
header("Location: member.php");
} else {
include 'loginform.inc.php';
}
?>
</aside>
</div>
<footer id="the_footer">
Copyright Rekenkanjer KTV305 GetConnected 2013
</footer>
</div>
</body>
</html>
Graag hoor ik van u een reactie. Alvast bedankt voor uw antwoord.
Mvg,
superky
Lijn 39 is fout, er staat 'Form:' i.p.v. From:
Code (php)
je hebt een @ ervoor staan is dit niet een fout onderdrukken?
Haal de @ weg en kijk wat er gebeurt.
Haal voor de header de // weg ,want // wordt gebruikt voor commentaar toe te voegen en php ziet dit niet als een header en slaat het over.
exit wordt niet gedaan want er staan // voor dus zonder // ervoor dan sluit php mail af.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
hier onder zie je wat ik zag toen ik de code ging plakken in mijn php debug programma.
Gewijzigd op 09/06/2013 00:38:33 door st p
En let op dat je niet zomaar een willekeurig email adres kan opgeven in de From headers, een goed opgezette mailserver zal het bericht niet versturen.
hieronder.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
//if (isset($_GET['sent']) == true) {
// echo '<p> Bedankt voor het versturen van je bericht.';
//}
// else
?>
//if (isset($_GET['sent']) == true) {
// echo '<p> Bedankt voor het versturen van je bericht.';
//}
// else
?>
als je de // weg haalt dan krijg je zo iets als hier onder.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
Gewijzigd op 09/06/2013 09:30:38 door st p
- Aar - op 08/06/2013 18:43:23:
Lijn 39 is fout, er staat 'Form:' i.p.v. From:
Bedankt het werkt weer! En de rest ook bedankt hoor :) Ik zal de overige fouten ook verbeteren dan :)