Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (data.error) {
- alert(data.error.message);
- }`
- $(document).ready(function (e){
- $("#main-contact-form").on('submit',(function(e){
- e.preventDefault();
- $('#sendingemail').fadeIn();
- $.ajax({
- url: "../sendemail.php",
- type: "POST",
- data: new FormData(this),
- contentType: false,
- cache: false,
- processData: false,
- success: function(data){
- if (data.error) {
- alert(data.error.message);
- }
- else{
- $('#sendingemail').fadeOut();
- $('#emailsent').fadeIn();
- alert(data.message);
- }
- },
- error: function(XHR,textStatus,errorThrown) {
- console.log(data);
- //alert("error");
- alert(XHR.status);
- alert(textStatus);
- alert(errorThrown);
- }
- }
- );
- }));
- });
- <?php
- header('Content-type: application/json');
- // WE SHOULD ASSUME THAT THE EMAIL WAS NOT SENT AT FIRST UNTIL WE KNOW MORE.
- // WE ALSO ADD AN ATTACHMENT KEY TO OUR STATUS ARRAY TO INDICATE THE STATUS OF OUR ATTACHMENT:
- $status = array(
- 'type' =>'Error',
- 'message' =>'Couldn't send the Email at this Time. Something went wrong',
- 'attachement' =>'Couldn't attach the uploaded File to the Email.'
- );
- //Added to deal with Files
- require_once('PHPMailer/class.phpmailer.php');
- if(isset($_FILES['uploaded_file'])){
- //Get the uploaded file information
- $name_of_uploaded_file =
- basename($_FILES['uploaded_file']['name']);
- //get the file extension of the file
- $type_of_uploaded_file =
- substr($name_of_uploaded_file,
- strrpos($name_of_uploaded_file, '.') + 1);
- $size_of_uploaded_file =
- $_FILES["uploaded_file"]["size"]/1024;//size in KBs
- //Settings
- $max_allowed_file_size = 10000; // size in KB
- $allowed_extensions = array("jpg", "jpeg", "gif", "bmp","png");
- //Validations
- if($size_of_uploaded_file > $max_allowed_file_size )
- {
- $status['type'] = 'Error';
- $status['message'] = 'Error: Size of file should be less than ~10MB. The file you attempted to upload is too large. To reduce the size, open the file in an image editor and change the Image Size and resave the file.';
- echo(json_encode($status));
- exit;
- }
- //------ Validate the file extension -----
- $allowed_ext = false;
- for($i=0; $i<sizeof($allowed_extensions); $i++)
- {
- if(strcasecmp($allowed_extensions[$i],$type_of_uploaded_file) == 0)
- {
- $allowed_ext = true;
- }
- }
- if(!$allowed_ext)
- {
- $status['type'] = 'Error';
- $status['message'] = 'Error: The uploaded file is not a supported file type.';
- echo(json_encode($status));
- exit;
- }
- $upload_folder = "temp/";
- $path_of_uploaded_file = $upload_folder . $name_of_uploaded_file;
- $tmp_path = $_FILES["uploaded_file"]["tmp_name"];
- if(is_uploaded_file($tmp_path))
- {
- if(!copy($tmp_path,$path_of_uploaded_file))
- {
- $status['type'] = 'Error';
- $status['message'] = 'Error: Encountered an error while copying the uploaded file';
- exit;
- }
- }
- }
- //--end
- $name = @trim(stripslashes($_POST['name']));
- $clientemail = @trim(stripslashes($_POST['email']));
- $subject = @trim(stripslashes($_POST['subject']));
- $message = @trim(stripslashes($_POST['message']));
- $body = 'Name: ' . $name . "nn" . 'Email: ' . $clientemail . "nn" . 'Subject: ' . $subject . "nn" . 'Message: ' . $message;
- $email = new PHPMailer();
- $email->From = $clientemail;
- $email->FromName = $name;
- $email->Subject = $subject;
- $email->Body = $body;
- $email->AddAddress( 'root@localhost.com' ); //Send to this email
- $email->isMail();
- if(isset($_FILES['uploaded_file'])){
- if($email->AddAttachment( $path_of_uploaded_file , $name_of_uploaded_file )){
- $status['message'] = 'The Uploaded File was successfully attached to the Email.';
- }
- }
- header("Content-Type: application/json; charset=utf-8", true);
- // NOW, TRY TO SEND THE EMAIL ANYWAY:
- try{
- $success = $email->send();
- $status['type'] = 'success';
- $status['message'] = 'Thank you for contacting us. We will reply as soon as possible.';
- }catch(Exception $e){
- $status['type'] ='Error';
- $status['message'] ='Couldn't send the Email at this Time. Something went wrong';
- }
- die(json_encode($status));
- <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" enctype="multipart/form-data">
- <div class="col-sm-5 col-sm-offset-1">
- <div class="form-group">
- <label>Name *</label>
- <input type="text" name="name" class="form-control" required="required">
- </div>
- <div class="form-group">
- <label>Email *</label>
- <input type="email" name="email" class="form-control" required="required">
- </div>
- <div class="form-group">
- <label>Phone</label>
- <input type="number" class="form-control">
- </div>
- <div class="form-group">
- <label>Company Name</label>
- <input type="text" class="form-control">
- </div>
- </div>
- <div class="col-sm-5">
- <div class="form-group">
- <label>Subject *</label>
- <input type="text" name="subject" class="form-control" required="required">
- </div>
- <div class="form-group">
- <label>Message *</label>
- <textarea name="message" id="message" required="required" class="form-control" rows="8" style="height:125px"></textarea>
- <label for='uploaded_file' style="margin-top:10px">Select A Photo To Upload:</label>
- <input type="file" name="uploaded_file">
- </div>
- <div class="form-group">
- <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Submit Message</button>
- </div>
- </div>
- </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement