I am new to this, so please be kind. I have a contact form for a website. I am not sure what errors I have made to get this. This is what I receive in email from the contact form:
<p>$usersname has contacted you from your site.</p><h3>Their Message is as follows:</h3><p>$usersmessage</p>$usersmessage"$usersmessage"<h5>Contact details</h5><p>Phone Number: $usersphonenumber</p><p>Email Address: $usersemail</p>
Not sure what i am doing wrong
It uses this php file:
<?php
if(isset($_REQUEST['contactformid']) && $_REQUEST['contactformid'] == 1){
$youremail = "webmaster@trwebcreations.com"; // Enter your email here!!
$usersname = ($_POST["usersname"]);
$usersemail = ($_POST["usersemail"]);
$usersphonenumber = ($_POST["usersphonenumber"];)
$usersmessage = ($_POST["usersmessage"];)
$subject = 'Message From Chris Gent | Landscape Studio website';
$message = '%usersname% has contacted you from your site.
Their Message is as follows: %usersmessage%
Contact details
Phone Number: %usersphonenumber%
Email Address: %usersemail%;
$headers = 'From:' . $usersemail . "\r\n";
mail($youremail, $subject, $message, $headers);
echo '<p>Thank you for your email, a member of our staff will contact you</p>';
} else { echo '<p>Form could not be sent, please try again!</p>'; }
This is the header script on the html page:
<script>$(document).ready(function() {$('#ajaxcontactform').submit(function(){$('input[type=submit]', this).attr('disabled', 'disabled');});
$('#ajaxcontactform').submit(
function parseResponse() {
var usersname = $("#name");
var usersemail = $("#email");
var usersphonenumber = $("#phone");
var usersmessage = $("#comment");
var contactformid = $("#contactformid");
var url = "contact.php";
var emailReg = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
var valid = emailReg.test(usersemail.val());
if(!valid) {
$("#contactwarning").html('<p class="rejectionalert"><span>Your email is not valid!</span></p>').slideDown().delay(2000).slideUp();
$('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
return false;
}
if (usersname.val() == "" || usersname.val() == "Please Insert Your Name") {
$("#contactwarning").html('<p class="rejectionalert"><span>Please Insert Your Name!</span></p>').slideDown().delay(2000).slideUp();
$('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
return false;
}
if (usersemail.val() == "" || usersemail.val() == "Please Insert Your Email") {
$("#contactwarning").html('<p class="rejectionalert"><span>Please Insert Your Email!</span></p>').slideDown().delay(2000).slideUp();
$('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
return false;
}
if (usersphonenumber.val() == "" || usersphonenumber.val() == "Please Insert Your Phone Number") {
$("#contactwarning").html('<p class="rejectionalert"><span>Please Insert Your Phone Number!</span></p>').slideDown().delay(2000).slideUp();
$('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
return false;
}
if (usersmessage.val() == "" || usersmessage.val() == "Please Leave A Message") {
$("#contactwarning").html('<p class="rejectionalert"><span>You forgot to leave a message!</span></p>').slideDown().delay(2000).slideUp();
$('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
return false;
}
$.post(url,{ usersname: usersname.val(), usersemail: usersemail.val(), usersphonenumber: usersphonenumber.val(), usersmessage: usersmessage.val(), contactformid: contactformid.val() } , function(data) {
$('#contactajax').html(data);
$('#contactajax').slideDown().delay(1000).slideUp();
$("#name").val('Please Insert Your Name');
$("#email").val('Please Insert Your Email');
$("#phone").val('Please Insert Your Phone Number');
$("#comment").val('Please Leave A Message');
$('input[type=submit]', $("#ajaxcontactform")).removeAttr('disabled');
});
}
); });
Here is the actual html form:
<form action="javascript:parseResponse();" method="post" name="ajaxcontactform" id="ajaxcontactform">
<div class="contacttextarea">
<input name="contactformid" id="contactformid" type="hidden" value="1" />
<fieldset>
<textarea name="comment" id="comment" cols="5" rows="5" class="contacttextarea"onfocus="if (this.value == 'Please Leave A Message') {this.value = '';}">Please Leave A Message</textarea>
</fieldset>
</div>
<div class="contacttextboxes">
<fieldset>
<input id="name" name="name" type="text" class="contacttextform" onfocus="if (this.value == 'Please Insert Your Name') {this.value = '';}"value="Please Insert Your Name">
</fieldset>
<fieldset>
<input id="phone" name="phone" type="text" class="contacttextform" onfocus="if (this.value == 'Please Insert Your Phone Number') {this.value = '';}"value="Please Insert Your Phone Number">
</fieldset>
<fieldset>
<input id="email" name="email" type="text" class="contacttextform" onfocus="if (this.value == 'Please Insert Your Email') {this.value = '';}"value="Please Insert Your Email">
</fieldset>
<fieldset>
<input name="send" type="submit" class="contactformbutton" value="Send">
</fieldset>
</div>
</form>
Here is the form validation:
jQuery(document).ready(function($){
// hide messages
$("#error").hide();
$("#sent-form-msg").hide();
// on submit...
$("#contactForm #submit").click(function() {
$("#error").hide();
//required:
//name
var name = $("input#name").val();
if(name == ""){
$("#error").fadeIn().text("Name required.");
$("input#name").focus();
return false;
}
// email
var email = $("input#email").val();
if(email == ""){
$("#error").fadeIn().text("Email required");
$("input#email").focus();
return false;
}
// web
var web = $("input#web").val();
if(web == ""){
$("#error").fadeIn().text("Web required");
$("input#web").focus();
return false;
}
// comments
var comments = $("#comments").val();
// send mail php
var sendMailUrl = $("#sendMailUrl").val();
//to, from & subject
var to = $("#to").val();
var from = $("#from").val();
var subject = $("#subject").val();
// data string
var dataString = 'name='+ name
+ '&email=' + email
+ '&web=' + web
+ '&comments=' + comments
+ '&to=' + to
+ '&from=' + from
+ '&subject=' + subject;
// ajax
$.ajax({
type:"POST",
url: sendMailUrl,
data: dataString,
success: success()
});
});
// on success...
function success(){
$("#sent-form-msg").fadeIn();
$("#contactForm").fadeOut();
}
return false;});
Basic PHP:
$message = '%usersname% has contacted you from your site.';
^^^^^^^^^^^----this
Your %whatever%
"variables" have absolutely NO meaning to PHP. If you want PHP to replace your variables with values, then you have to use the correct syntax:
$usersname = $_POST["usersname"];
$mail = "Hello, $usersname, .....";
^^^^^^^^^^---a proper PHP variable
And note that you have to use "
-quoted strings for this. $foo
in a single-quoted variable is just four characters, $
, f
, o
, o
. In a double-quoted string, it's a variable whose name is foo
, and will replaced with the variable's value.
reason, you are using single quotes in email mensage format, try use double quotes or concat your variables in string like:
$message = 'hey steve my name is: '.$contact_name.' ill salute you!';
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.