PHP Form Submit by Email - Attachment Issues

Hello everyone, I am having some issues getting my form submission to work properly. I would like entries to be included in an email for name, phone number, email, a message and an attachment. However, This has been an upwards battle that I cant seem to wrap my head around. I read a few tutorials for file uploading and it seems it places files into a temporary folder? I was hoping an attachment to the email.

Anyways here is what I have. My sample is located at www.marksmeninc.com/resumesub/resumesub.html

My PHP Code:

[php]<?php

// Define some constants
define( “RECIPIENT_NAME”, “Field Manager” );
define( “RECIPIENT_EMAIL”, "[email protected]" );
define( “EMAIL_SUBJECT”, “Webpage Resume Submission” );

// Read the form values
$success = false;
$senderName = isset( $_POST[‘senderName’] ) ? preg_replace( “/[^.-’ a-zA-Z0-9]/”, “”, $_POST[‘senderName’] ) : “”;
$senderEmail = isset( $_POST[‘senderEmail’] ) ? preg_replace( “/[^.-_@a-zA-Z0-9]/”, “”, $_POST[‘senderEmail’] ) : “”;
$senderPhone = isset( $_POST[‘senderPhone’] ) ? preg_replace( “/[^.-_@a-zA-Z0-9]/”, “”, $_POST[‘senderPhone’] ) : “”;
$message = isset( $_POST[‘message’] ) ? preg_replace( “/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/”, “”, $_POST[‘message’] ) : “”;

// If all values exist, send the email
if ( $senderName && $senderEmail && $message ) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . “>”;
$headers = “From: " . $senderName . " <” . $senderEmail . “>”;
$success = mail( $recipient, EMAIL_SUBJECT, $message, $senderPhone, $headers );
}

// Return an appropriate response to the browser
if ( isset($_GET[“ajax”]) ) {
echo $success ? “success” : “error”;
} else {
?>

Thanks! <?php if ( $success ) echo "

Thanks for sending your message! We look forward to reviewing your resume. Please note that only those selected for an interview will be contacted.

" ?> <?php if ( !$success ) echo "

There was a problem sending your message. Please try again.

" ?>

Click your browser's Back button to return to the page.

<?php } ?>[/php]

My HTML Code:

[code]<!doctype html>

Marksmen Vegetation Employment Opportunities /* Add some margin to the page and set a default font and colour */ body { margin: 30px; font-family: "Georgia", serif; line-height: 1.8em; color: #333; } /* Set the content dimensions */ #content { width: 800px; padding: 50px; margin: 0 auto; display: block; font-size: 1.2em; } #content h2 { line-height: 1.5em; } /* Add curved borders to various elements */ #contactForm, .statusMessage, input[type="submit"], input[type="button"] { -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } /* Style for the contact form and status messages */ #contactForm, .statusMessage { color: #666; background-color: #ebedf2; background: -webkit-gradient( linear, left bottom, left top, color-stop(0,#dfe1e5), color-stop(1, #ebedf2) ); background: -moz-linear-gradient( center bottom, #dfe1e5 0%, #ebedf2 100% ); border: 1px solid #aaa; -moz-box-shadow: 0 0 1em rgba(0, 0, 0, .5); -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, .5); box-shadow: 0 0 1em rgba(0, 0, 0, .5); opacity: .95; } /* The form dimensions */ #contactForm { width: 40em; height: 43em; padding: 0 1.5em 1.5em 1.5em; margin: 0 auto; } /* Position the form in the middle of the window (if JavaScript is enabled) */ #contactForm.positioned { position: fixed; top: 0; bottom: 0; left: 0; right: 0; margin-top: auto; margin-bottom: auto; } /* Dimensions and position of the status messages */ .statusMessage { display: none; margin: auto; width: 30em; height: 2em; padding: 1.5em; position: fixed; top: 0; bottom: 0; left: 0; right: 0; } .statusMessage p { text-align: center; margin: 0; padding: 0; } /* The header at the top of the form */ #contactForm h2 { font-size: 2em; font-style: italic; letter-spacing: .05em; margin: 0 0 1em -.75em; padding: 1em; width: 19.5em; color: #aeb6aa; background: #dfe0e5 url('images/stamp.jpg') no-repeat 15em -3em; /* http://morguefile.com/archive/display/606433 */ border-bottom: 1px solid #aaa; -moz-border-radius: 10px 10px 0 0; -webkit-border-radius: 10px 10px 0 0; border-radius: 10px 10px 0 0; } /* Give form elements consistent margin, padding and line height */ #contactForm ul { list-style: none; margin: 0; padding: 0; } #contactForm ul li { margin: .9em 0 0 0; padding: 0; } #contactForm input, #contactForm label { line-height: 1em; } /* The field labels */ label { display: block; float: left; clear: left; text-align: right; width: 28%; padding: .4em 0 0 0; margin: .15em .5em 0 0; font-weight: bold; } /* The fields */ input, textarea { display: block; margin: 0; padding: .4em; width: 67%; font-family: "Georgia", serif; font-size: 1em; border: 1px solid #aaa; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: rgba(0,0,0,.2) 0 1px 4px inset; -webkit-box-shadow: rgba(0,0,0,.2) 0 1px 4px inset; box-shadow: rgba(0,0,0,.2) 0 1px 4px inset; background: #fff; } textarea { height: 13em; line-height: 1.5em; resize: none; } /* Place a border around focused fields, and hide the inner shadow */ #contactForm *:focus { border: 1px solid #66f; outline: none; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; } /* Display correctly filled-in fields with a green background */ input:valid, textarea:valid { background: #dfd; } /* The Send and Cancel buttons */ input[type="submit"], input[type="button"] { float: right; margin: 2em 1em 0 1em; width: 10em; padding: .5em; border: 1px solid #666; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, .8); -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, .8); box-shadow: 0 0 .5em rgba(0, 0, 0, .8); color: #fff; background: #0a0; font-size: 1em; line-height: 1em; font-weight: bold; opacity: .7; -webkit-appearance: none; -moz-transition: opacity .5s; -webkit-transition: opacity .5s; -o-transition: opacity .5s; transition: opacity .5s; } input[type="submit"]:hover, input[type="submit"]:active, input[type="button"]:hover, input[type="button"]:active { cursor: pointer; opacity: 1; } input[type="submit"]:active, input[type="button"]:active { color: #333; background: #eee; -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset; -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset; box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset; } input[type="button"] { background: #f33; } /* Header/footer boxes */ .wideBox { clear: both; text-align: center; margin: 70px; padding: 10px; background: #ebedf2; border: 1px solid #333; } .wideBox h1 { font-weight: bold; margin: 20px; color: #666; font-size: 1.5em; }

Marksmen Vegetation Employment Opportunities

Click Here to Submit a Resume

Submit a Resume online

Please ensure you select the appropriate job opportunity. Only those selected for an interview will be contacted.

<li>
  <label for="senderName">Your Name</label>
  <input type="text" name="senderName" id="senderName" placeholder="Please type your name" required="required" maxlength="40" />
</li>

<li>
  <label for="senderEmail">Your Email Address</label>
  <input type="email" name="Email" id="senderEmail" placeholder="Please type your email address" required="required" maxlength="50" />
</li>

<li>
  <label for="senderPhone">Your Phone Number</label>
  <input type="text" name="Phone" id="senderPhone" placeholder="Please type your phone number" required="required" maxlength="10" />
</li>

<li>
  <label for="message" style="padding-top: .5em;">Please paste your cover letter here</label>
  <textarea name="textarea" id="message" placeholder="Please type your cover letter" required="required" cols="80" rows="10" maxlength="10000"></textarea>
</li>
  • Upload resume in PDF format
  • Sending your message. Please wait...

    Thanks for sending your message! We'll get back to you shortly.

    There was a problem sending your message. Please try again.

    Please complete all the fields in the form before sending.

    [/code]

    Any assistance would be much appreciated! Hopefully I can come to understand how this all works. :smiley:

    Looking over your code, I noticed the $_GET[‘Ajax’]; What is that? You do not have a form field called ajax.
    All $_GET’s have to have a matching form field. Such as a text box for Name or Address, you would use $_GET[‘Name’], etc… But, I did not see a field for ajax…

    That might be your trouble.

    Sponsor our Newsletter | Privacy Policy | Terms of Service