i have form page: http://webauthorsgroup.com/raa/contacform/index3.html producing "empty field(s)" error, yet can't pinpoint error occurring.
i using following php form:
<?php if($_post) { $to_email = "email@email.com"; //replace recipient email address $subject = 'web form'; //subject line emails //check if ajax request, exit if not if(!empty($_server['http_x_requested_with']) , strtolower($_server['http_x_requested_with']) != 'xmlhttprequest') { //exit script outputting json data $output = json_encode( array( 'type'=>'error', 'text' => 'request must come ajax' )); die($output); } //check $_post vars set, exit if missing if(empty($_post["userfirst"]) || empty($_post["userlast"]) || empty($_post["userphone"]) || empty($_post["useremail"])) { $output = json_encode(array('type'=>'error', 'text' => 'input fields empty!')); die($output); } //sanitize input data using php filter_var(). $user_first = filter_var($_post["userfirst"], filter_sanitize_string); $user_last = filter_var($_post["userlast"], filter_sanitize_string); $user_company = filter_var($_post["usercompany"], filter_sanitize_email); $user_address = filter_var($_post["user_address"], filter_sanitize_string); $user_city = filter_var($_post["user_city"], filter_sanitize_string); $user_state = filter_var($_post["user_state"], filter_sanitize_string); $user_zip = filter_var($_post["user_zip"], filter_sanitize_string); $user_phone = filter_var($_post["user_phone"], filter_sanitize_string); $user_email = filter_var($_post["user_email"], filter_sanitize_string); $user_cell = filter_var($_post["user_cell"], filter_sanitize_string); $user_type = filter_var($_post["user_type"], filter_sanitize_string); $user_carrier = filter_var($_post["user_carrier"], filter_sanitize_string); $user_cs_experience = filter_var($_post["user_cs_experience"], filter_sanitize_string); $user_contractor_experience = filter_var($_post["user_contractor_experience"], filter_sanitize_string); $user_delivery_areas = filter_var($_post["user_delivery_areas"], filter_sanitize_string); $user_yr_make_model = filter_var($_post["user_yr_make_model"], filter_sanitize_string); $user_ref1_company = filter_var($_post["user_ref1_company"], filter_sanitize_string); $user_ref1_contact = filter_var($_post["user_ref1_contact"], filter_sanitize_string); $user_ref1_address = filter_var($_post["user_ref1_address"], filter_sanitize_string); $user_ref1_city = filter_var($_post["user_ref1_city"], filter_sanitize_string); $user_ref1_state = filter_var($_post["user_ref1_state"], filter_sanitize_string); $user_ref1_zip = filter_var($_post["user_ref1_zip"], filter_sanitize_string); $user_ref2_company = filter_var($_post["user_ref2_company"], filter_sanitize_string); $user_ref2_contact = filter_var($_post["user_ref2_contact"], filter_sanitize_string); $user_ref2_address = filter_var($_post["user_ref2_address"], filter_sanitize_string); $user_ref2_city = filter_var($_post["user_ref2_city"], filter_sanitize_string); $user_ref2_state = filter_var($_post["user_ref2_state"], filter_sanitize_string); $user_ref2_zip = filter_var($_post["user_ref2_zip"], filter_sanitize_string); $user_message = filter_var($_post["user_message"], filter_sanitize_string); //additional php validation if(strlen($user_first)<3) // if length less 4 throw http error. { $output = json_encode(array('type'=>'error', 'text' => 'name short or empty!')); die($output); } if(!filter_var($user_email, filter_validate_email)) //email validation { $output = json_encode(array('type'=>'error', 'text' => 'please enter valid email!')); die($output); } if(!is_numeric($user_phone)) //check entered data numbers { $output = json_encode(array('type'=>'error', 'text' => 'only numbers allowed in phone field')); die($output); } /*if(strlen($user_message)<5) //check emtpy message { $output = json_encode(array('type'=>'error', 'text' => 'too short message! please enter something.')); die($output); }*/ //proceed php email. $headers = 'from: '.$user_email.'' . "\r\n" . 'reply-to: '.$user_email.'' . "\r\n" . 'x-mailer: php/' . phpversion(); $content = $user_message."\n".$user_first."\n".$user_last."\n".$user_company."\n".$user_address."\n".$user_city."\n".$user_state."\n".$user_zip."\n".$user_phone."\n".$user_email."\n".$user_cell."\n".$user_type."\n".$user_carrier."\n".$user_cs_experience."\n".$user_contractor_experience."\n".$user_delivery_areas."\n".$user_yr_make_model."\n".$user_ref1_company."\n"."\n".$user_ref1_contact."\n".$user_ref1_address."\n".$user_ref1_city."\n".$user_ref1_state."\n".$user_ref1_zip."\n".$user_ref2_company."\n".$user_ref2_contact."\n".$user_ref2_addressl."\n".$user_ref2_city."\n".$user_ref2_state."\n".$user_ref2_zip; $sentmail = @mail($to_email, $subject, $content, $headers); if(!$sentmail) { $output = json_encode(array('type'=>'error', 'text' => 'could not send mail! please check php mail configuration.')); die($output); }else{ $output = json_encode(array('type'=>'message', 'text' => 'thank '.$user_first .'. in contact you.')); die($output); } } ?>
you not consistent of variable naming. looking @ html source have these variables:
var user_first = $('input[name=first]').val(); var user_last = $('input[name=last]').val(); var user_company = $('input[name=company]').val(); var user_address = $('input[name=address]').val(); var user_city = $('input[name=city]').val(); var user_state = $('input[name=state]').val(); var user_zip = $('input[name=zip]').val(); var user_phone
looking @ code looking variables without underscore:
here:
$user_company = filter_var($_post["usercompany"], filter_sanitize_email);
also: having both user_first
, userfirst
pretty confusing, might want clean future debugging.
Comments
Post a Comment