php - isset($_Post) not getting values from Mail Form -
so i'm trying send values contact form (contact.php) file send_form_email.php. reason i'm not getting values contact.php. i'd appreciate help!
here's form code contact.php file:
<form role="form" id="contactform" name="contactform" enctype='multipart/form-data' method="post" action="send_form_email.php"> <div class="form-group"> <label for="inputfname" style="color: #ecc444; text-shadow: 2px 2px #414141;">first name:</label> <input type="text" class="form-control" id="inputfname" placeholder="enter first name" maxlength="50" size="30"> </div> <div class="form-group"> <label for="inputlname" style="color: #ecc444; text-shadow: 2px 2px #414141;">last name:</label> <input type="text" class="form-control" id="inputlname" placeholder="enter last name" maxlength="50" size="30"> </div> <div class="form-group"> <label for="inputemail" style="color: #ecc444; text-shadow: 2px 2px #414141;">email address:</label> <input type="text" class="form-control" id="inputemail" placeholder="enter email" maxlength="80" size="30"> </div> <div class="form-group"> <label for="inputcomments" style="color: #ecc444; text-shadow: 2px 2px #414141;">comments:</label> <textarea class="form-control"name="inputcomments" rows="3" maxlength="1000" cols="25" rows="6"></textarea> </div> <?php require_once('recaptchalib.php'); $publickey = "<public-key>"; echo recaptcha_get_html($publickey); ?> <br/> <button type="button" class="btn btn-default" onclick="sendemail()">submit</button> </form>
upon clicking submit button following javascript function called:
<script language="javascript"> function sendemail() { document.forms["contactform"].submit(); } </script>
this submits form , calls file send_form_email.php:
<?php session_start(); require_once('recaptchalib.php'); $privatekey = "privatekey"; $resp = recaptcha_check_answer ($privatekey, $_server["remote_addr"], $_post["recaptcha_challenge_field"], $_post["recaptcha_response_field"]); if (!$resp->is_valid) { // happens when captcha entered incorrectly die ("the recaptcha wasn't entered correctly. go , try again." . "(recaptcha said: " . $resp->error . ")"); } else { if(isset($_post['inputemail'])) { // edit 2 lines below required $email_to = "example@example.com"; $email_subject = "example contact form"; function died($error) { // error code can go here echo "we sorry, there error(s) found form submitted. "; echo "these errors appear below.<br /><br />"; echo $error."<br /><br />"; echo "please go , fix these errors.<br /><br />"; die(); } // validation expected data exists if(!isset($_post['inputfname']) || !isset($_post['inputlname']) || !isset($_post['inputemail'])) { died('we sorry, there appears problem form submitted.'); } date_default_timezone_set('america/montreal'); $first_name = $_post['inputfname']; // required $last_name = $_post['inputlname']; // required $email_from = $_post['inputemail']; // required $comments = $_post['inputcomments']; // required $date = getdate(); $error_message = ""; $email_exp = '/^[a-za-z0-9._%-]+@[a-za-z0-9.-]+\.[a-za-z]{2,4}$/'; if(!preg_match($email_exp,$email_from)) { $error_message .= 'the email address entered not appear valid.<br />'; } $string_exp = "/^[a-za-z .'-]+$/"; if(!preg_match($string_exp,$first_name)) { $error_message .= 'the first name entered not appear valid.<br />'; } if(!preg_match($string_exp,$last_name)) { $error_message .= 'the last name entered not appear valid.<br />'; } if(strlen($comments) < 2) { $error_message .= 'the comments entered not appear valid.<br />'; } if(strlen($error_message) > 0) { died($error_message); } $email_message = "form details submitted on ".$date." follows:\n\n"; $email_message_sender = "thank contact request! reply possible!"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href", "./"); return str_replace($bad,"",$string); } function clean_link($string) { $bad = array("./"); return str_replace($bad,"/",$string); } $email_message .= "first name: ".clean_string($first_name)."\n"; $email_message .= "last name: ".clean_string($last_name)."\n"; $email_message .= "email: ".clean_string($email_from)."\n"; $email_message .= "comments: ".clean_string($comments)."\n"; $email_message_sender .= "first name: ".clean_string($first_name)."\n"; $email_message_sender .= "last name: ".clean_string($last_name)."\n"; $email_message_sender .= "email: ".clean_string($email_from)."\n"; $email_message_sender .= "comments: ".clean_string($comments)."\n"; // create email headers $headers = 'from: '.$email_from."\r\n". 'reply-to: '.$email_from."\r\n" . 'x-mailer: php/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); $headers2 = 'from: '.$email_from."\r\n". 'reply-to: '.$email_from."\r\n" . 'x-mailer: php/' . phpversion(); @mail($email_from, $email_subject, $email_message_sender, $headers2); ?> <!-- include own success html here --> thank contacting us. in touch soon. <?php } } ?>
i have left out values such public/private key recaptcha , email obvious reasons.
i can't figure out i'm doing wrong.
thanks guys.
all of form fields missing name
attribute. without values not sent server.
for example:
<input type="text" class="form-control" id="inputfname" placeholder="enter first name" maxlength="50" size="30">
is missing name="inputfname"
:
<input type="text" name="inputfname" class="form-control" id="inputfname" placeholder="enter first name" maxlength="50" size="30">
Comments
Post a Comment