-2

I have an existing html contact form, but I would like to add the feature to upload a photo to be sent as an attachment. How can I add that to my php script. I have already added the file upload field in the html form name=datafile and I have also set the attribute enctype="multipart/form-data"

    <?php
$yourEmailAddress = '123@123.com'; //Put your own email address here.

//Check to make sure that the name field is not empty
if(trim($_POST['contactname']) == '') {
    $hasError = true;
} else {
    $name = trim($_POST['contactname']);
}

//Check to make sure that the subject field is not empty
if(trim($_POST['subject']) == '') {
    $hasError = true;
} else {
    $subject = trim($_POST['subject']);
}

//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) == '')  {
    $hasError = true;
} else if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", trim($_POST['email']))) {
    $hasError = true;
} else {
    $email = trim($_POST['email']);
}

//Check to make sure comments were entered
if(trim($_POST['message']) == '') {
    $hasError = true;
} else {
    if(function_exists('stripslashes')) {
        $comments = stripslashes(trim($_POST['message']));
    } else {
        $comments = trim($_POST['message']);
    }
}

//If there is no error, send the email
if(!isset($hasError)) {
    $emailTo = $yourEmailAddress;
    $body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nMessage:\n $comments";
    $headers = 'From: Interion Template <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
    mail($emailTo, $subject, $body, $headers);
    echo'<div id="success" class="sent success"><p><strong>Email Successfully Sent!</strong><br>Thanks for contacting Us. Your email was successfully sent and we \'ll be in touch with you soon.</p></div>';
} else { //If errors are found
    echo '<p class="error">Please check if you\'ve filled all the fields with valid information and try again. Thank you.</p>';
} 

 ?>

Here is my HTML part

<form method="post" action="sendMail.php" enctype="multipart/form-data" id="contactform">

                    <div class="response">&nbsp;</div>

                    <p ><label for="contactname">What is your full legal Name?<span>*</span></label>
                        <input id="contactname" type="text" value="" name="contactname" placeholder="Full Name" class="textflied">
                        <i class="icon fa fa-user"></i></p>

                        <p><label for="email" >What is the best email address for us to contact you on?<span>*</span></label>
                            <input id="email" type="text" value="" name="email" placeholder="Email Address" class="textflied">
                            <i class="icon fa fa-envelope"></i></p>

                            <p><label for="subject" >Now tell us the best phone number to reach you at:<span>*</span></label>
                                <input id="subject"  type="text" value="" name="subject" placeholder="Your phone number including area code" class="textflied">
                                <i class="icon fa fa-phone  "></i></p>

                                <p><label for="message" >In a short paragraph how would you discribe your self?<span>*</span></label>
                                    <textarea id="message" type="text" name="message" value="" placeholder="Your short paragraph" rows="8" class="texttextarea"></textarea>
                                     <i class="icon fa fa-comments"></i></p>

                                     <label for="datafile" >Finally lets match the name with a face, upload your most recent photo<span>*</span></label>
                                     <input type="file" name="datafile" size="40">
                                     <br>
                                     <br>

                                    <p>
                                        <button type="submit" name="submit" id="submitButton" title="Click here to submit your message!" class="btn btn-disabled">SEND message</button>
                                    </p>
                                </form>
Ahmed C
  • 61
  • 2
  • 14
Moe Habib
  • 1
  • 2
  • 1
    where is your html part – priya786 Jun 01 '15 at 09:59
  • 2
    What did you try and what errors did you get with that? – Celoain Jun 01 '15 at 09:59
  • 2
    "i always get an error" has never helped anyone, anywhere at any time. What does that mean? _What_ error? When trying _what_ modifications? You should post your attempts and clearly point out the specific error you get so that we can help. – arkascha Jun 01 '15 at 10:01
  • "error" Please check if you\'ve filled all the fields with valid information and try again. Thank you.'; – Moe Habib Jun 01 '15 at 10:04
  • that does not answer my question, I already have the form and the php, how can i add the upload part to my existing code – Moe Habib Jun 01 '15 at 10:13

1 Answers1

0

please add this code and check it may help you

if(trim($_FILES['datafile']['name'])==''){
 $hasError = true;
}
else {
    $target='upload/';/*give the directory name wfere you want to save it*/
move_uploaded_file($_FILES['datafile']['tmp_name'],$target);
}








  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
    <?php
$yourEmailAddress = '123@123.com'; //Put your own email address here.
if(trim($_FILES['datafile']['name'])==''){
     $hasError = true;
    }
    else {
        $target='upload/';/*give the directory name wfere you want to save it*/
    move_uploaded_file($_FILES['datafile']['tmp_name'],$target);
}
//Check to make sure that the name field is not empty
if(trim($_POST['contactname']) == '') {
    $hasError = true;
} else {
    $name = trim($_POST['contactname']);
}

//Check to make sure that the subject field is not empty
if(trim($_POST['subject']) == '') {
    $hasError = true;
} else {
    $subject = trim($_POST['subject']);
}

//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) == '')  {
    $hasError = true;
} else if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", trim($_POST['email']))) {
    $hasError = true;
} else {
    $email = trim($_POST['email']);
}

//Check to make sure comments were entered
if(trim($_POST['message']) == '') {
    $hasError = true;
} else {
    if(function_exists('stripslashes')) {
        $comments = stripslashes(trim($_POST['message']));
    } else {
        $comments = trim($_POST['message']);
    }
}

//If there is no error, send the email
if(!$hasError) {
    $emailTo = $yourEmailAddress;
    $body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nMessage:\n $comments";
    $headers = 'From: Interion Template <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
    mail($emailTo, $subject, $body, $headers);
    echo'<div id="success" class="sent success"><p><strong>Email Successfully Sent!</strong><br>Thanks for contacting Us. Your email was successfully sent and we \'ll be in touch with you soon.</p></div>';
} else { //If errors are found
    echo '<p class="error">Please check if you\'ve filled all the fields with valid information and try again. Thank you.</p>';
} 

 ?>
</head>

<body>
<form method="post" action="" enctype="multipart/form-data" id="contactform">
  <div class="response">&nbsp;</div>
  <p >
    <label for="contactname">What is your full legal Name?<span>*</span></label>
    <input id="contactname" type="text" value="" name="contactname" placeholder="Full Name" class="textflied">
    <i class="icon fa fa-user"></i></p>
  <p>
    <label for="email" >What is the best email address for us to contact you on?<span>*</span></label>
    <input id="email" type="text" value="" name="email" placeholder="Email Address" class="textflied">
    <i class="icon fa fa-envelope"></i></p>
  <p>
    <label for="subject" >Now tell us the best phone number to reach you at:<span>*</span></label>
    <input id="subject"  type="text" value="" name="subject" placeholder="Your phone number including area code" class="textflied">
    <i class="icon fa fa-phone  "></i></p>
  <p>
    <label for="message" >In a short paragraph how would you discribe your self?<span>*</span></label>
    <textarea id="message" type="text" name="message" value="" placeholder="Your short paragraph" rows="8" class="texttextarea"></textarea>
    <i class="icon fa fa-comments"></i></p>
  <label for="datafile" >Finally lets match the name with a face, upload your most recent photo<span>*</span></label>
  <input type="file" name="datafile" size="40">
  <br>
  <br>
  <p>
    <button type="submit" name="submit" id="submitButton" title="Click here to submit your message!" class="btn btn-disabled">SEND message</button>
  </p>
</form>
</body>
</html>
priya786
  • 1,804
  • 12
  • 11