I have this form done it complete and working fine when the form is submitted the information is emailed to an email id but all the content is shown in plain text when it delivers I want that when the form information reaches the email id it it should the field names in bold.
<?php
$errors = '';
$myemail = 'abc@email.com';//<-----Put Your email address here.
if(
empty ($_POST['fullname']) ||
empty ($_POST['martialstatus']) ||
empty ($_POST['dateofbirth']) ||
empty ($_POST['email']) ||
empty ($_POST['telephone']) ||
empty ($_POST['cell']) ||
empty ($_POST['graduation']) ||
empty ($_POST['yearatt']) ||
empty ($_POST['department']) ||
empty ($_POST['program']) ||
empty ($_POST['permanentaddress']) ||
empty ($_POST['currentemp']) ||
empty ($_POST['designation']) ||
empty ($_POST['selfemp']) ||
empty ($_POST['officeemail']) ||
empty ($_POST['officetele']) ||
empty ($_POST['portfolio']) ||
empty ($_POST['membership']))
{
$errors .= "\n Error: all fields are required";
}
$fullname = $_POST['fullname'];
$martialstatus = $_POST['martialstatus'];
$dateofbirth = $_POST['dateofbirth'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$cell = $_POST['cell'];
$graduation = $_POST['graduation'];
$yearatt = $_POST['yearatt'];
$department = $_POST['department'];
$program = $_POST['program'];
$permanentaddress = $_POST['permanentaddress'];
$currentemp = $_POST['currentemp'];
$designation = $_POST['designation'];
$selfemp = $_POST['selfemp'];
$officeemail = $_POST['officeemail'];
$officetele = $_POST['officetele'];
$portfolio = $_POST['portfolio'];
$membership = $_POST['membership'];
if( empty($errors))
{
$to = $myemail;
$email_subject = "Membership Information: $fullname";
$email_body = "You have received a new message. ".
" Here are the details:\n Personal Information \n\n
Name: $fullname \n
Martial Status: $martialstatus \n
Date of Birth: $dateofbirth \n
Email: $email \n
Telephone: $telephone \n
Cell: $cell \n
Year of Graduation: $graduation \n
Years Attended: $yearatt \n
Department: $department \n
Program Attended: $program \n
Permanent Address: $permanentaddress \n\n
Career Information \n\n
Currently Employeed with: $currentemp \n
Designation: $designation \n
Self Employeed: $selfemp \n
Office Email: $officeemail \n
Office Telephone: $officetele \n
Portfolio: $portfolio \n\n
MemberShip \n\n
Type of MemberShip: $membership \n\n ";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
</html>
I took the liberty of re-writing quite a bit, mostly because there is so much repetition, and a huge security issue.
One could make several further improvements on this as well, but that's left as an exercise to the reader.
You headers must always end with `\r\n"
This is wrong
It should be like this
You need to add HTML tags in your mail
Example
You'll need to add the
Content-type
header, and add HTML tags to the email you're sending. So:Also, you'll need to convert
\n
to HTML line breaks, so:Be sure to add headers, as specified on Mail page documentation
then use markup to compose your email
Bold text can be done with an HTML email, set the content type header:
Use the
<strong>
tag:Don't forget
\n
won't show a new line in an HTML email, you'll need to use<br />
.Make sure to send the email in HTML format and change the respective line to