daily pastebin goal
19%
SHARE
TWEET

Untitled

a guest Sep 22nd, 2016 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. require 'assets/library/PHPMailer-master/PHPMailerAutoload.php';
  4. require 'assets/library/recaptcha-master/src/autoload.php';
  5.  
  6. $overview_error = '';
  7. $recaptcha_error = '';
  8. $email_error = '';
  9. $name_error = '';
  10. $subject_error = '';
  11. $message_error = '';
  12. $email_sent = false;
  13. $siteKey = 'SITE KEY'; // https://github.com/google/recaptcha/blob/master/examples/example-captcha.php
  14.  
  15. if (isset($_POST["submit"]))
  16. {
  17.     if (!validate_form())
  18.     {
  19.         $overview_error = 'There are errors on the form.';
  20.     }
  21.     if (!isRecaptchaValid())
  22.     {
  23.         $overview_error = 'There are errors on the form.';
  24.         $recaptcha_error = 'Please submit recaptcha!';
  25.     }
  26.     else
  27.     {
  28.         $subject = strip_tags($_POST["subject"]);
  29.         $name = strip_tags($_POST["name"]);
  30.         $email = strip_tags($_POST["email"]);
  31.         $message = strip_tags($_POST["message"]);
  32.  
  33.         $mail = new PHPMailer; // https://github.com/PHPMailer/PHPMailer
  34.         // Tell PHPMailer to use SMTP
  35.         // Commented out for now
  36.         //$mail->isSMTP();
  37.         // Enable SMTP debugging and HTML-friendly debug output
  38.         $mail->SMTPDebug = 2;
  39.         $mail->Debugoutput = 'html';
  40.  
  41.         $mail->Host = "host";
  42.         $mail->Port = 587; // Likely 25, 465, or 587
  43.         $mail->SMTPAuth = true; // not sure what the auth details are for this
  44.         $mail->Username = "email username";
  45.         $mail->Password = "email password";
  46.  
  47.         $mail->setFrom('email', 'Company Contact Us Form');
  48.         $mail->addReplyTo($email);
  49.         $mail->addAddress('send to email', 'Company Administration');
  50.         $mail->Subject = 'Contact us email from ' . $name . ' concerning ' . $subject;
  51.         $mail->Body = $name . " has contacted us from the website leaving the following information: nSubject: " . $subject . "nName: " . $name . "nEmail: " . $email . "nn" . $message;
  52.  
  53.         // Send the message, check for errors
  54.         if(!$mail->send())
  55.         {
  56.             echo ("Message could not be sent.");
  57.             echo ("Mailer Error: " . $mail->ErrorInfo);
  58.             exit;
  59.         }
  60.         $email_sent = true;
  61.     }
  62. }
  63.  
  64. function validate_form()
  65. {
  66.     $error_count = 0;
  67.  
  68.     if (empty($_POST["email"])) {
  69.         global $email_error;
  70.         $email_error = "Please enter your email.";
  71.         $error_count ++;
  72.     }
  73.     elseif (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL))
  74.     {
  75.         global $email_error;
  76.         $email_error = "Invalid email.";
  77.         $error_count ++;
  78.     }
  79.     if (empty($_POST["name"])) {
  80.         global $name_error;
  81.         $name_error = "Please enter your name.";
  82.         $error_count ++;
  83.     }
  84.     if (!isset($_POST["subject"])) {
  85.         global $subject;
  86.         $subject_error = "Please select a subject.";
  87.         $error_count ++;
  88.     }
  89.     if (empty($_POST["message"])) {
  90.         global $message_error;
  91.         $message_error = "Please enter your comments.";
  92.         $error_count ++;
  93.     }
  94.     return $error_count == 0 ? true : false;
  95. }
  96.  
  97. function isRecaptchaValid()
  98. {
  99.     $siteSecret = 'SITE SECRET'; // www.google.com/recaptcha/admin
  100.     $recaptcha = new ReCaptchaReCaptcha($siteSecret);
  101.     $response = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
  102.     if ($response->isSuccess()) {
  103.         return true;
  104.     } else {
  105.         return false;
  106.     }
  107. }
  108.  
  109. function construct_error_html($error)
  110. {
  111.     if(isset($error))
  112.     {
  113.         if(strlen(trim($error)) > 0)
  114.         {
  115.             $error_open = "<span class='help-inline text-danger'>  ";
  116.             $error_close = "</span>";
  117.             return $error_open.$error.$error_close;
  118.         }
  119.     }
  120. }
  121. ?>
  122.  
  123. <!DOCTYPE html>
  124. <html lang="en">
  125. <head>
  126.     <?php include("assets/includes/head.php"); ?>
  127. </head>
  128. <body>
  129.  
  130. <?php include("assets/includes/header.php"); ?>
  131.  
  132. <div id="pageheaderwrap" class="header_con">
  133.     <div class="container">
  134.     </div>
  135. </div>
  136.  
  137. <div id="hero">
  138.     <div class="container inner">
  139.         <div class="row">
  140.             <div class="col-md-8 col-sm-9 col-md-offset-2">
  141.                 <header>
  142.                     <?php
  143.                     if ($email_sent)
  144.                     { ?>
  145.                         <h1>Thank You</h1>
  146.                         <p>Thank you for contacting us, we'll get back to you as soon as possible.</p>
  147.                     <?php
  148.                     } else {
  149.                     ?>
  150.                     <h1>Contact</h1>
  151.                     <p>Let us put our expertise to work for you.</p>
  152.                     <?php }?>
  153.                 </header>
  154.             </div>
  155.         </div>
  156.     </div>
  157. </div>
  158.  
  159. <div class="container w">
  160.     <div class="row">
  161.         <div class="col-md-8 col-md-offset-2">
  162.             <div class="section">
  163.                 <div id="content-area">
  164.                     <p> We'd love to hear from you.  You can call us at (phone) or use the contact form below to send us an email.</p>
  165.                 </div>
  166.             </div>
  167.         </div>
  168.     </div>
  169. </div>
  170. <?php if (!$email_sent) { ?>
  171. <div class="container gap">
  172.     <div class="row">
  173.         <div class="col-md-8">
  174.             <div class="well well-sm">
  175.                 <form  role="form" method="post" action="emailtest.php">
  176.                     <div class="row">
  177.                             <?="<p class='text-danger'>$overview_error</p>";?>  
  178.                     </div>
  179.                     <div class="row">
  180.                         <div class="col-md-6">
  181.                             <div class="form-group">
  182.                                 <label for="name">Name</label><?php print construct_error_html($name_error); ?>
  183.                                 <input type="text" class="form-control" id="name" name="name" placeholder="Enter name"  
  184.                                     value="<?= isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '' ;?>" />
  185.                             </div>
  186.                             <div class="form-group">
  187.                                 <label for="email">Email Address</label><?php print construct_error_html($email_error); ?>
  188.                                 <div class="input-group">
  189.                                 <span class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span>
  190.                                 </span>
  191.                                     <input type="email" class="form-control" id="email" name="email" placeholder="Enter email"
  192.                                         value="<?= isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ;?>" /></div>
  193.                             </div>
  194.                             <div class="form-group">
  195.                                 <label for="subject">Subject</label><?php print construct_error_html($subject_error); ?>
  196.                                 <select id="subject" name="subject" class="form-control">
  197.                                     <option value="na" selected="">Choose One:</option>
  198.                                     <option value="service"
  199.                                         <?php if(isset($_POST['subject']) && $_POST['subject'] == 'service')
  200.                                             echo ' selected="selected"'; ?>
  201.                                         >General Customer Service</option>
  202.                                     <option value="suggestions"
  203.                                         <?php if(isset($_POST['subject']) && $_POST['subject'] == 'suggestions')
  204.                                             echo ' selected="selected"'; ?>
  205.                                         >Suggestions</option>
  206.                                     <option value="product"
  207.                                         <?php if(isset($_POST['subject']) && $_POST['subject'] == 'product')
  208.                                             echo ' selected="selected"'; ?>
  209.                                         >Product Support</option>
  210.                                 </select>
  211.                             </div>
  212.                             <div class="form-group">
  213.                                 <div class="g-recaptcha" data-sitekey="<?= $siteKey; ?>"></div>
  214.                                 <?="<p class='text-danger'>$recaptcha_error</p>";?>
  215.                             </div>
  216.                         </div>
  217.                         <div class="col-md-6">
  218.                             <div class="form-group">
  219.                                 <label for="message">
  220.                                     Message</label><?php print construct_error_html($message_error); ?>
  221.                                 <textarea name="message" id="message" class="form-control" rows="10" cols="25"
  222.                                     placeholder="Message"><?= isset($_POST['message']) ? htmlspecialchars($_POST['message']) : '' ; ?></textarea>
  223.                             </div>
  224.                         </div>
  225.                         <div class="col-md-12">
  226.                             <button type="submit" name="submit" class="btn btn-primary pull-right" id="btnContactUs">
  227.                                 Send Message</button>
  228.                         </div>
  229.                     </div>
  230.                 </form>
  231.             </div>
  232.         </div>
  233.     </div>
  234. </div>
  235. <?php } ?>
  236.  
  237. <?php include("assets/includes/footer.php"); ?>
  238.  
  239. </body>
  240. </html>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top