/    Sign up×
Community /Pin to ProfileBookmark

Attach file to my contact form

I have the following PHP form that works perfectly and I want to add the possibility to attach a file and after 3 weeks of research I still not able to find a way to do.

Please any help will be highly appreciated.

Thanks

HTML CODE:

Code:

[code=html]
<form name=”htmlform” method=”post” action=”MyphpFile.php”>
<table width=”450px”>
</tr>
<tr>
<td valign=”top”>
<label for=”first_name”><b>First Name *</b></label>
</td>
<td valign=”top”>
<input type=”text” name=”first_name” maxlength=”50″ size=”30″>
</td>
</tr>

<tr>
<td valign=”top””>
<label for=”last_name”><b>Last Name *</b></label>
</td>
<td valign=”top”>
<input type=”text” name=”last_name” maxlength=”50″ size=”30″>
</td>
</tr>
<tr>
<td valign=”top”>
<label for=”email”><b>Email *<font size=’2′></b></label>
</td>
<td valign=”top”>
<input type=”text” name=”email” maxlength=”80″ size=”30″>
</td>

</tr>
<tr>
<td valign=”top”>
<label for=”comments”><b>Comments*</b></label>
</td>
<td valign=”top”>
<textarea name=”comments” maxlength=”1000″ cols=”25″ rows=”6″></textarea>
</td>

</tr>
<tr>
<td colspan=”4″ style=”text-align:center”>
<br><br>
<input type=”submit” value=”Submit”>
</td>
</tr>
</table>
</form>
[/code]

And here is the code of my PHP File:

PHP Code:

[/code]
<?php
if(isset($_POST[’email’])) {

// CHANGE THE TWO LINES BELOW
$email_to = “[email protected]”;

$email_subject = “Reporting and issue in UnlimitedWonders”;

function died($error) {
// your error code can go here
echo “We are very sorry, but there were error(s) found with the form you submitted. “;
echo “These errors appear below.<br /><br />”;
echo $error.”<br /><br />”;
echo “Please go back and fix these errors.<br /><br />”;
die();
}

// validation expected data exists
if(!isset($_POST[‘first_name’]) ||
!isset($_POST[‘last_name’]) ||
!isset($_POST[’email’]) ||
!isset($_POST[‘comments’])) {
died(‘We are sorry, but there appears to be a problem with the form you submitted.’);
}

$first_name = $_POST[‘first_name’]; // required
$last_name = $_POST[‘last_name’]; // required
$email_from = $_POST[’email’]; // required
$comments = $_POST[‘comments’]; // required

$error_message = “”;
$email_exp = ‘/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}$/’;

if(!preg_match($email_exp,$email_from)) {
$error_message .= ‘The Email Address you entered does not appear to be valid.<br />’;
}
$string_exp = “/^[A-Za-z .’-]+$/”;
if(!preg_match($string_exp,$first_name)) {
$error_message .= ‘The First Name you entered does not appear to be valid.<br />’;
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= ‘The Last Name you entered does not appear to be valid.<br />’;
}
if(strlen($comments) < 2) {
$error_message .= ‘The Comments you entered do not appear to be valid.<br />’;
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = “Form details below.nn”;

function clean_string($string) {
$bad = array(“content-type”,”bcc:”,”to:”,”cc:”,”href”);
return str_replace($bad,””,$string);
}

$email_message .= “First Name: “.clean_string($first_name).”n”;
$email_message .= “Last Name: “.clean_string($last_name).”n”;
$email_message .= “Email: “.clean_string($email_from).”n”;
$email_message .= “Comments: “.clean_string($comments).”n”;

// create email headers
$headers = ‘From: ‘.$email_from.”rn”.
‘Reply-To: ‘.$email_from.”rn” .
‘X-Mailer: PHP/’ . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

<!– place your own success html below –>

Thank you

<?php
}
die();
?> [/code]

to post a comment
PHP

2 Comments(s)

Copy linkTweet thisAlerts:
@firesnakerFeb 23.2013 — There are two steps involved here:

1. Uploading the file to the server.

2. Attaching the file to the email.

So, if you are looking for one solution, there are none.

What you can do is handle them individually.

Step 1: Uploading the file to the server is described in the PHP Manual -> Features -> Handling File Uploads.http://www.php.net/manual/en/features.file-upload.php

Step 2:Attaching the file to the email. I did a quick google and found Web Cheat Sheet article to be quite acceptable. http://webcheatsheet.com/PHP/send_email_text_html_attachment.php

Good luck!
Copy linkTweet thisAlerts:
@LearningCoderFeb 26.2013 — Add this attribute to your <form> tag for a start:
<i>
</i>enctype="multipart/form-data"


Next create a file input:
<i>
</i>&lt;input type="file" name="your_file" /&gt;


There's much more to explain but start by doing that.

Kind regards,

LC
×

Success!

Help @samuvk spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.3,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...