I am working on a contact form and the code doesn't seem to work. I don't get verifications when its submitted, I don't get to see what the user submitted, and the form has no security at all. Here is what I produced so far, it has most of the things complete, I just can't get it to work the way I want. Can someone help me with this:
EDIT: I am making a contact form to collect inputs for a childcare website (I just need the name of the parent, email, phone number, and information about the child). I expect it to, when submitted by the visitor/parent, to send me a verification that the form was submitted and I get a copy of what they submitted to me. The parent who submitted the form should also get verification that the form was submitted. When the form is inputted, the page resets and I don't get a copy of their inputs nor does the parent get a verification.. – Suppahman 4 mins ago edit
I am expecting it to send me a verification of the form being submitted, I get a copy of the inputs so I can contact them later, the parent gets a verification that I got it, and the form should be secured so that nobody can spam me. At the moment, the form is basically... well... dead. Are you guys able to help me with that by any chance? I don't know if I answered your questions correctly, but I think it should do?
PHP
$contactname = $_POST["contact-name"];
$contactemail = $_POST["contact-email"];
$contactphone = $_POST["contact-phone"];
$child_info = $_POST["child_info"];
$to = 'maemail@gmail.com';
$subject = 'Contact Form Submission!';
//******************************************************************************************************************************//
if(isset($_POST['email'])) {
$to = "maemail@gmail.com";
$subject = "Contact Form Submission";
function died($error)
{
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error . "<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
if(!isset($_POST['contact-name']) || !isset($_POST['contact-email']) || !isset($_POST['contact-phone']) || !isset($_POST['child-info'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$contactname = $_POST['contact-name']; //required
$contactemail = $_POST['contact-email']; //required
$contactphone = $_POST['contact-phone']; //required
$child_info = $_POST['child_info']; //required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp, $contactemail)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
$numb_exp = '/^[0-9.-]';
if(!preg_match($string_exp, $contactname)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($numb_exp, $contactphone)) {
$error_message .= 'The Phone Number you entered does not appear to be valid.<br />';
}
if(strlen($child_info) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string)
{
$bad = array(
"content-type",
"bcc:",
"to:",
"cc:",
"href"
);
return str_replace($bad, "", $string);
}
$email_message .= "First Name: " . clean_string($contactname) . "\n";
$email_message .= "Email: " . clean_string($contactemail) . "\n";
$email_message .= "Telephone: " . clean_string($contactphone) . "\n";
$email_message .= "Child Information: " . clean_string($child_info) . "\n";
$headers = 'From: ' . $contactemail . "\r\n" . 'Reply-To: ' . $contactemail . "\r\n" . 'X-Mailer: PHP/' . phpversion();
@mail($to, $subject, $email_message, $headers);
echo "Thank you for contacting us. We will be in touch with you very soon.";
}
//******************************************************************************************************************************//
$v1 = "
<html> <body> <style>
h1 {color:#000066;}
table {border:1px solid black; background: #e3f0ff;}
</style> <h1>Hello, this form has been submitted!</h1> <img src= 'logo1.png' /> <table rules='all' style='border-color: #ffb300;' cellpadding='10' width='500px'> <tr style='background: #ffb300;'><td>First Name: $contactname</td> <tr style='background: #fafafa;'><td>Email: $contactemail</td> <tr style='background: #fafafa;'><td>Phone: $contactphone</td><tr style='background: #fafafa;'><td>Child Information: $child_info</td></table> </body> </html> ";
$message = $v1;
$headers = "From: $from\r\n";
$headers .= "Content-type: text/html\r\n";
mail($to, $subject, $message, $headers);
echo "Message has been sent..."; //Page RE DIRECT
echo $v1;
//******************************************************************************************************************************//
$contactname = $_POST["contact-name"];
$contactemail = $_POST["contact-email"];
$contactphone = $_POST["contact-phone"];
$child_info = $_POST["child_info"];
$verificationmsg = 'Thank you for your inquiry, we will contact you shortly! <br>Best,<br>Me<br>©Hi LOGO WENT HERE(TM) All Rights Reserved 2015';
$subject = 'Message Confirmed!';
$v1 = "
<html> <body> <style>
#disclosure {font-size: 8px; color: #333;}
h1 {color:#000066;}
table {border:1px solid black;}
</style> <img src= 'logo1.png' /> <table rules='all' style='border-color: #ffb300;' cellpadding='10' width='500px'> <tr style='background: #ffb300;'><td>Email Confirmation <tr style='background: #fafafa;'><td>Hello $contactname, your message has been recieved! We will contact you shortly! <br><br>Best, <br>M<br>©M(TM) All Rights Reserved 2015 </div> </table> </body> </html> ";
$headers = "From: $from\r\n";
$headers .= "Content-type: text/html\r\n";
mail($contactemail, $subject, $verificationmsg, $headers);
$count = count(file("formsubmissions.csv"));
$today = date("d M Y h:i A");
echo $today;
echo $v1;
$cvsData = "\n" . $count . "," . $today . "," . $contactname . "," . $contactemail . "," . $contactphone . "," . $child_info;
$fp = fopen("formsubmissions.csv", "a");
if($fp) {
fwrite($fp, $cvsData);
fclose($fp);
}
HTML
<form action="contact.php" class="footer-form" method="post">
<p class="title">How can we be of service?</p>
<div class="form-group">
<strong>
<input type="text" class="form-control" name="contact-name" id="contact-name" placeholder="Name:">
</strong>
</div>
<div class="form-group">
<strong>
<input type="email" class="form-control" name="contact-email" id="contact-email" placeholder="E-mail:">
</strong>
</div>
<div class="form-group">
<strong>
<input type="phone" class="form-control" name="contact-phone" id="contact-phone" placeholder="Phone:">
</strong>
</div>
<div class="form-group">
<strong>
<input type="text" class="form-control" name="child_info" id="child_info" placeholder="Tell us about your child:">
</strong>
</div>
<button type="submit" class="btn btn-default waves-effect waves-button waves-float waves-classic"><strong>Submit</strong></button>
</form>