contactformulier
Er zit inderdaad een javascript bij het template, ik had er phone:$("#phone").val() aan toegevoegd maar dat hielp niet. Ondertussen zit ik steeds tutorials te volgen op youtube maar die zijn zo verschillend. Het valt me niet mee als php-leek.
Dit is het javascript.
jQuery(document).ready(function(){$("#contactform").submit(function(){var e=$(this).attr("action");return $("#message").slideUp(750,function(){$("#message").hide(),$("#submit").after('<img src="images/loading.gif" class="loader" />').attr("disabled","disabled"),$.post(e,{name:$("#name").val(),email:$("#email").val(),comments:$("#comments").val(),verify:$("#verify").val()},function(e){document.getElementById("message").innerHTML=e,$("#message").slideDown("slow"),$("#contactform img.loader").fadeOut("slow",function(){$(this).remove()}),$("#submit").removeAttr("disabled"),null!=e.match("success")&&$("#contactform").slideUp("slow")})}),!1})});
Wel even deze regel aanpassen :
$address = "[email protected]";
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
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
<?php
if (!$_POST) {
header('Location: .');
exit();
}
// Email address verification, do not edit.
function isEmail($email) {
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}
if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
$name = $_POST['name'];
$email = $_POST['email'];
$phone = ( $_POST['phone'] <> '' ? $_POST['phone'] : 'n/a' );
$subject = $_POST['subject'];
$comments = $_POST['comments'];
$verify = $_POST['verify'];
if(trim($name) == '') {
echo '<div class="error_message">Attention! You must enter your name.</div>';
exit();
} else if(trim($email) == '') {
echo '<div class="error_message">Attention! Please enter a valid email address.</div>';
exit();
} else if(!isEmail($email)) {
echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>';
exit();
}
if(trim($comments) == '') {
echo '<div class="error_message">Attention! Please enter your message.</div>';
exit();
}
if(get_magic_quotes_gpc()) {
$comments = stripslashes($comments);
}
// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "[email protected]";
$address = "[email protected]";
// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."
// Example, $e_subject = '$name . ' has contacted you via Your Website.';
$e_subject = 'You have been contacted by "' . $name . '"';
// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
$e_body = 'You have been contacted by "' . $name . '" with regards to "' . $subject . '".' . PHP_EOL . PHP_EOL;
$e_content = 'Their additional message is as follows : ' . PHP_EOL . PHP_EOL;
$e_content .= '"' . $comments . '"' . PHP_EOL . PHP_EOL;
$e_reply = 'You can contact "' . $name . '" via email : ' . $email . ' or via phone : ' . $phone;
$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
$headers = 'From: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'Reply-To: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
$headers .= 'Content-Transfer-Encoding: quoted-printable' . PHP_EOL;
// show what is sent
echo '$address = ' . $address . '<br />
$e_subject = ' . $e_subject . '<br />
$msg = ' . $msg . '<br />
$headers = ' . $headers;
//exit();
if( mail( $address, $e_subject, $msg, $headers ) ) {
// Email has sent successfully, echo a success page.
echo "<fieldset>";
echo "<div id='success_page'>";
echo "<h1>Email Sent Successfully.</h1>";
echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>";
echo "</div>";
echo "</fieldset>";
} else {
echo 'ERROR!';
}?>
if (!$_POST) {
header('Location: .');
exit();
}
// Email address verification, do not edit.
function isEmail($email) {
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}
if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
$name = $_POST['name'];
$email = $_POST['email'];
$phone = ( $_POST['phone'] <> '' ? $_POST['phone'] : 'n/a' );
$subject = $_POST['subject'];
$comments = $_POST['comments'];
$verify = $_POST['verify'];
if(trim($name) == '') {
echo '<div class="error_message">Attention! You must enter your name.</div>';
exit();
} else if(trim($email) == '') {
echo '<div class="error_message">Attention! Please enter a valid email address.</div>';
exit();
} else if(!isEmail($email)) {
echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>';
exit();
}
if(trim($comments) == '') {
echo '<div class="error_message">Attention! Please enter your message.</div>';
exit();
}
if(get_magic_quotes_gpc()) {
$comments = stripslashes($comments);
}
// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "[email protected]";
$address = "[email protected]";
// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."
// Example, $e_subject = '$name . ' has contacted you via Your Website.';
$e_subject = 'You have been contacted by "' . $name . '"';
// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
$e_body = 'You have been contacted by "' . $name . '" with regards to "' . $subject . '".' . PHP_EOL . PHP_EOL;
$e_content = 'Their additional message is as follows : ' . PHP_EOL . PHP_EOL;
$e_content .= '"' . $comments . '"' . PHP_EOL . PHP_EOL;
$e_reply = 'You can contact "' . $name . '" via email : ' . $email . ' or via phone : ' . $phone;
$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
$headers = 'From: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'Reply-To: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
$headers .= 'Content-Transfer-Encoding: quoted-printable' . PHP_EOL;
// show what is sent
echo '$address = ' . $address . '<br />
$e_subject = ' . $e_subject . '<br />
$msg = ' . $msg . '<br />
$headers = ' . $headers;
//exit();
if( mail( $address, $e_subject, $msg, $headers ) ) {
// Email has sent successfully, echo a success page.
echo "<fieldset>";
echo "<div id='success_page'>";
echo "<h1>Email Sent Successfully.</h1>";
echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>";
echo "</div>";
echo "</fieldset>";
} else {
echo 'ERROR!';
}?>
Gewijzigd op 13/05/2018 16:13:28 door Adoptive Solution
Ik heb het even ontrafeld voor je.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
jQuery(document).ready(function() {
$("#contactform").submit(function() {
var e = $(this).attr("action");
return $("#message").slideUp(750, function() {
$("#message").hide(), $("#submit").after('<img src="images/loading.gif" class="loader" />').attr("disabled", "disabled"), $.post(e, {
name: $("#name").val(),
email: $("#email").val(),
comments: $("#comments").val(),
verify: $("#verify").val()
}, function(e) {
document.getElementById("message").innerHTML = e, $("#message").slideDown("slow"), $("#contactform img.loader").fadeOut("slow", function() {
$(this).remove()
}), $("#submit").removeAttr("disabled"), null != e.match("success") && $("#contactform").slideUp("slow")
})
}), !1
})
});
$("#contactform").submit(function() {
var e = $(this).attr("action");
return $("#message").slideUp(750, function() {
$("#message").hide(), $("#submit").after('<img src="images/loading.gif" class="loader" />').attr("disabled", "disabled"), $.post(e, {
name: $("#name").val(),
email: $("#email").val(),
comments: $("#comments").val(),
verify: $("#verify").val()
}, function(e) {
document.getElementById("message").innerHTML = e, $("#message").slideDown("slow"), $("#contactform img.loader").fadeOut("slow", function() {
$(this).remove()
}), $("#submit").removeAttr("disabled"), null != e.match("success") && $("#contactform").slideUp("slow")
})
}), !1
})
});
bij moet komen ?
Maar je kan ook alle velden van je formulier in één keer meenemen met:
$.post(e, $("#contactform").serialize() );
Uitleg over de $.post functie van jQuery vind je op: https://api.jquery.com/jquery.post/
Toevoeging op 13/05/2018 22:56:44:
Bedankt voor het aangepaste script Adoptive Solution. Ik heb het emailadres aangepast en ik heb de javascript aangepast.
Helaas komt de mail zo binnen:
You have been contacted by "Hanny Kiesling" with regards to "".
Their additional message is as follows :
" dit is mijn ingevulde tekst."
You can contact "Hanny Kiesling" via email : [email protected]
or via phone : n/a
Ook komt er extra tekst op de website bij de verzendmelding:
$address = [email protected]
$e_subject = You have been contacted by "Hanny Kiesling"
$msg = You have been contacted by "Hanny Kiesling" with regards to "". Their additional message is as follows : " dit is mijn ingevulde tekst." You can contact "Hanny Kiesling" via email : [email protected] or via phone : n/a
$headers = From: "Hanny Kiesling" Reply-To: "Hanny Kiesling" MIME-Version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Email Sent Successfully.
Thank you Hanny Kiesling, your message has been submitted to us.
Klinkt als niet uitgevoerde PHP doordat je mogelijk een PHP-tag mist of de code niet in een .php-bestand hebt staan.
Als je regels 70-75 weghaalt is het "probleem" opgelost.
Attention! Please enter your message.
Toevoeging op 14/05/2018 09:46:29:
Okee adoptive solution ga ik doen.
Toevoeging op 14/05/2018 09:56:03:
Ik heb de regels weggehaald en het script opnieuw geupload en als ik het nu helemaal invul krijg ik de melding:
Attention! Please enter your message.
Dan is er iets met het comentaar-veld.
Zit het probleem misschien dan tussen content en comments ?
Gewijzigd op 14/05/2018 22:36:18 door - Ariën -
Array ( [name] => Hanny Kiesling => [email protected] [phone] => 657105239 )
Gewijzigd op 15/05/2018 10:34:23 door - Ariën -
Kan je jouw relevante code laten 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
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
<?php
if (!$_POST) {
header('Location: .');
exit();
}
// Email address verification, do not edit.
function isEmail($email) {
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}
if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
$name = $_POST['name'];
$email = $_POST['email'];
$phone = ( $_POST['phone'] <> '' ? $_POST['phone'] : 'n/a' );
$subject = $_POST['subject'];
$comments = $_POST['comments'];
$verify = $_POST['verify'];
if(trim($name) == '') {
echo '<div class="error_message">Attention! You must enter your name.</div>';
exit();
} else if(trim($email) == '') {
echo '<div class="error_message">Attention! Please enter a valid email address.</div>';
exit();
} else if(!isEmail($email)) {
echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>';
exit();
}
if(trim($comments) == '') {
echo '<div class="error_message">Attention! Please enter your message.</div>';
exit();
}
if(get_magic_quotes_gpc()) {
$comments = stripslashes($comments);
}
// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "[email protected]";
$address = "[email protected]";
// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."
// Example, $e_subject = '$name . ' has contacted you via Your Website.';
$e_subject = 'You have been contacted by "' . $name . '"';
// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
$e_body = 'You have been contacted by "' . $name . '" with regards to "' . $subject . '".' . PHP_EOL . PHP_EOL;
$e_content = 'Their additional message is as follows : ' . PHP_EOL . PHP_EOL;
$e_content .= '"' . $comments . '"' . PHP_EOL . PHP_EOL;
$e_reply = 'You can contact "' . $name . '" via email : ' . $email . ' or via phone : ' . $phone;
$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
$headers = 'From: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'Reply-To: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
$headers .= 'Content-Transfer-Encoding: quoted-printable' . PHP_EOL;
if( mail( $address, $e_subject, $msg, $headers ) ) {
// Email has sent successfully, echo a success page.
echo "<fieldset>";
echo "<div id='success_page'>";
echo "<h1>Email Sent Successfully.</h1>";
echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>";
echo "</div>";
echo "</fieldset>";
} else {
echo 'ERROR!';
}?>
if (!$_POST) {
header('Location: .');
exit();
}
// Email address verification, do not edit.
function isEmail($email) {
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}
if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
$name = $_POST['name'];
$email = $_POST['email'];
$phone = ( $_POST['phone'] <> '' ? $_POST['phone'] : 'n/a' );
$subject = $_POST['subject'];
$comments = $_POST['comments'];
$verify = $_POST['verify'];
if(trim($name) == '') {
echo '<div class="error_message">Attention! You must enter your name.</div>';
exit();
} else if(trim($email) == '') {
echo '<div class="error_message">Attention! Please enter a valid email address.</div>';
exit();
} else if(!isEmail($email)) {
echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>';
exit();
}
if(trim($comments) == '') {
echo '<div class="error_message">Attention! Please enter your message.</div>';
exit();
}
if(get_magic_quotes_gpc()) {
$comments = stripslashes($comments);
}
// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "[email protected]";
$address = "[email protected]";
// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."
// Example, $e_subject = '$name . ' has contacted you via Your Website.';
$e_subject = 'You have been contacted by "' . $name . '"';
// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
$e_body = 'You have been contacted by "' . $name . '" with regards to "' . $subject . '".' . PHP_EOL . PHP_EOL;
$e_content = 'Their additional message is as follows : ' . PHP_EOL . PHP_EOL;
$e_content .= '"' . $comments . '"' . PHP_EOL . PHP_EOL;
$e_reply = 'You can contact "' . $name . '" via email : ' . $email . ' or via phone : ' . $phone;
$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
$headers = 'From: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'Reply-To: "' . $name . '" <' . $email . '>'. PHP_EOL;
$headers .= 'MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
$headers .= 'Content-Transfer-Encoding: quoted-printable' . PHP_EOL;
if( mail( $address, $e_subject, $msg, $headers ) ) {
// Email has sent successfully, echo a success page.
echo "<fieldset>";
echo "<div id='success_page'>";
echo "<h1>Email Sent Successfully.</h1>";
echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>";
echo "</div>";
echo "</fieldset>";
} else {
echo 'ERROR!';
}?>
-------------------------------------------------------------------------------------------
En dit is de html:
<div id="message"></div>
<form id="contactform" action="contact.php" name="contactform" method="post">
<header class="form-header">
<h3>Contact Form</h3>
</header>
<div class="post-body-form text-center">
<p>In order to provide better service to you please fill in the<br> following form completely.</p>
</div>
<fieldset class="row-fluid appoform">
<div class="col-md-12">
<label class="sr-only">Your name</label>
<input type="text" name="name" id="name" class="form-control" placeholder="Naam *"></div>
<div class="col-md-12">
<label class="sr-only">Email address</label>
<input type="email" name="email" id="email" class="form-control" placeholder="Email *"></div>
<div class="col-md-12">
<label class="sr-only">Phone number</label>
<input type="text" name="phone" id="phone" class="form-control" placeholder="Telefoon"></div> <div class="col-md-12">
<textarea class="form-control" name="comments" id="comments" rows="6" placeholder="tekst"> </textarea></div>
<div class="col-md-12">
<button type="submit" value="SEND" id="submit" class="btn btn-primary btn-block">Send Message</button>
</div>
</fieldset>
</form>
Overigens hebben we ook code-tags voor in het forum. Dat maakt de boel beter leesbaarder.
Maar ik blijf erbij dat dit script niet echt veilig en handig in gebruik is:
- Waarom zou je je script bij een validatiemelding moeten stoppen met exit of die(). Nog mooier zou het zijn om de melding bij je formulier te tonen.
- Je controle op een mailadres ondersteunt bijv. geen [email protected], en kan veel simpeler met filter_var() in PHP.
- Geen controle bij de headers, header-injection is mogelijk en dus gevoelig om te worden misbruikt voor spammers!! Gevaar voor je hosting die hun mailserver op een blacklist kunnen zien gaan. Mails van hun andere klanten kunnen daardoor in de spam-box belanden.
- Verkeerd gebruik van de From header. Deze is altijd vast, en vaak een mailadres binnen je domein.
- Controle op get_magic_quotes_gpc() is echt niet meer nodig, tenzij je een PHP van 7 jaar oud draait ofzo.
Aan het begin van dit topic heb ik een beter alternatief geplaatst, waar je beter naar kan kijken. Want als je dit huidige script zou moeten oplappen, dan kan je net zo goed opnieuw kunnen beginnen.
Gewijzigd op 15/05/2018 11:08:15 door - Ariën -
Heel erg bedankt voor de medewerking.
Aan het begin van dit topic heb ik een veiliger alternatief geplaatst.
Edit: Ik zou het formulier dan wel niet in je echo plaatsen, omdat dat best onhandig werkt. Misschien moet ik dit script eens een keer gaan 'forken' tot een beter script.
Gewijzigd op 15/05/2018 11:24:41 door - Ariën -
Ik heb het formulier aan het begin van de topic nog proberen aan te passen maar dat lukte niet helaas.
Dat kan, dan gaat er vermoedelijk *iets* mis.