Beste mensen,

Kan iemand mij helpen, ik ben al dagen bezig om het contactformulier goed te krijgen.
Het formulier wordt vanaf de website netjes verzonden naar de mail maar het ingevulde telefoonnummer komt niet door. Ik zou er graag nog een paar velden aan toe willen voegen maar zit helemaal klem.

Zo komt de mail aan vanaf het contactformulier:

You have been contacted by Hanny Kiesling with regards to , their
additional message is as follows.

"Dit is mijn berichttekst"

You can contact Hanny Kiesling via email, [email protected] or
via phone


Hopelijk kan iemand mij helpen :(

Alvast bedankt.
Hanny Kiesling





Dit is de php:

<?php
if(!$_POST) 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'];
$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]";
$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\'ve 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, 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: $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!';
}





<form id="contactform" action="contact.php" name="contactform" method="post">
<header class="form-header">
<h3>Contact Form</h3>
<div class="post-body-form text-center">
<p>In order to provide better service to you, PetVet Veterinary<br> Clinic
It is working with the appointment system. 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</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="Extra notes.."> </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>
Bedankt voor je reactie Thomas. Ik ben de hele dag weer aan het zoeken waar het fout gaat en kwam er achter dat vragen over dit probleem steeds in ditzelfde php-script opduikt.

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})});
Dit zou moeten werken.

Wel even deze regel aanpassen :

$address = "[email protected]";

<?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!';
}?>
Met zo'n brei aan spaghetti-code zou ik er ook niet uitkomen ;-)

Ik heb het even ontrafeld voor je.


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
    })
});
Oei dat is beter leesbaar :) Heb ik het goed gezien moet er dan toch phone: $("#phone").val(),
bij moet komen ?
Ja, dat klopt inderdaad.

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/
Vriendelijk bedankt, ik ga ermee aan de slag :)

[size=xsmall]Toevoeging op 13/05/2018 22:56:44:[/size]

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.

Ik heb de code opnieuw geupload in php en bij het invullen van het formulier krijg ik nu de melding
Attention! Please enter your message.


[size=xsmall]Toevoeging op 14/05/2018 09:46:29:[/size]

Okee adoptive solution ga ik doen.

[size=xsmall]Toevoeging op 14/05/2018 09:56:03:[/size]

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.

Reageren