php - single page script error -


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