Advertisement
Guest User

process form

a guest
Mar 24th, 2013
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.89 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4. /** CONFIGURATION OPTIONS
  5.  * $email_address = The email address that all form submissions will be sent to
  6.  * $company_address = The sample destination address that will be used in the contact form */
  7.  
  8. $email_address = 'myemail@gmail.com';   /*not exactly my email*/
  9. $company_address = '';
  10.  
  11.  
  12.  
  13. /** DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU ARE COMFORTABLE WITH PHP */
  14.  
  15. echo "<script>var companyAddress = '".$company_address."';</script>";
  16.  
  17. $field_rules = array(
  18.     'name' => 'required',
  19.     'email' => 'valid_email',
  20.     'phone' => '',
  21.     'pickup' => 'required',
  22.     'destination' => 'required',
  23.     'trip_type' => 'required',
  24.     'message' => ''
  25. );
  26.  
  27.  
  28. $error_messages = array(
  29.     'required' => 'This field is required',
  30.     'valid_email' => 'Please enter a valid email address'
  31. );
  32.  
  33.  
  34. $error_list = '';
  35.  
  36. $fields = $_POST;
  37.  
  38.  
  39. if (!empty($fields))
  40. {
  41.     //Validate each of the fields
  42.     foreach ($field_rules as $field => $rules)
  43.     {
  44.         $rules = explode('|', $rules);
  45.  
  46.         foreach ($rules as $rule)
  47.         {
  48.             $result = null;
  49.  
  50.             if (isset($fields[$field]))
  51.             {
  52.                 if (!empty($rule))
  53.                     $result = $rule($fields[$field]);
  54.  
  55.                 if ($result === false)
  56.                 {
  57.                     $field_name = ucwords(implode(' ', explode('_', $field)));
  58.  
  59.                     $error_list .= "<div class='error'>$field_name: " . $error_messages[$rule] . "</div>";
  60.                 }
  61.             }
  62.         }
  63.     }
  64.  
  65.     if (empty($error_list))
  66.     {
  67.         $subject = '[Contact Form] New message from ' . $fields['name'] . '.';
  68.  
  69.         $content = $fields['name'] . " sent you a message from your contact form:\r\n\n";
  70.         $content .= "-------\n" . $fields['message'] . "\r\n\n";
  71.         $content .= "Contact Reason: " . $fields['contact_reason']
  72.                 . " \n\nEmail: " . $fields['email']
  73.                 . " \n\nPhone: " . $fields['phone'] . " \n\n";
  74.  
  75.         if (mail($email_address, $subject, $content, "From: " . $fields['email'] . "\r\nReply-To: " . $fields['email'] . "\r\nReturn-Path: " . $fields['email'] . "\r\n"))
  76.         {
  77.  
  78.             echo "<h2 class='success'>Message Sent</h2>";
  79.             echo "<br/><p class='success'>Thank you <strong>" . $fields['name'] . "</strong>, your message has been submitted and someone will contact you shortly.</p>";
  80.         }
  81.         else
  82.         {
  83.  
  84.             echo 'ERROR!';
  85.         }
  86.     }
  87. }
  88.  
  89. function required($str, $val = false)
  90. {
  91.  
  92.     if (!is_array($str))
  93.     {
  94.         $str = trim($str);
  95.         return ($str == '') ? false : true;
  96.     }
  97.     else
  98.     {
  99.         return (!empty($str));
  100.     }
  101. }
  102.  
  103. function valid_email($str)
  104. {
  105.     return (!preg_match("/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD", $str)) ? false : true;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement