如何将文件上传添加到我现有的联系表单

时间:2015-06-01 09:58:34

标签: php html forms email

我有一个现有的html联系表单,但我想添加该功能以上传要作为附件发送的照片。我怎样才能将它添加到我的PHP脚本中。我已经在html表单name = datafile中添加了文件上传字段,并且我还设置了属性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>';
} 

 ?>

这是我的HTML部分

<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>

1 个答案:

答案 0 :(得分:0)

请添加此代码并检查它可能会对您有所帮助

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>