Jump to content

[SOLVED] php form prob


fazzfarrell

Recommended Posts

can any one help, If I fill in the form and make no attachement the form does not send and display the message, if I do attach it works fine?

 

 

any one help

 

 

this is my code

<?php
  if ($_SERVER['REQUEST_METHOD']=="POST"){

  // we'll begin by assigning the To address and message subject
  $to=$HTTP_POST_VARS['ToEmail'];

  $subject="E-mail with attachment";

  // get the sender's name and email address
  // we'll just plug them a variable to be used later
  $from = stripslashes($_POST['FirstName'])."<".stripslashes($_POST['EMail']).">";

  // generate a random string to be used as the boundary marker
  $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";

  // store the file information to variables for easier access
  $tmp_name = $_FILES['filename']['tmp_name'];
  $type = $_FILES['filename']['type'];
  $name = $_FILES['filename']['name'];
  $size = $_FILES['filename']['size'];
  $myTitle = $HTTP_POST_VARS['Title'];
  $myFirstName = $HTTP_POST_VARS['FirstName'];
  $myLastName = $HTTP_POST_VARS['LastName'];
  $myTelephone = $HTTP_POST_VARS['Telephone'];
  $myEmail = $HTTP_POST_VARS['EMail'];
  $myMessage = $HTTP_POST_VARS['Message'];
  $ContactBy = $HTTP_POST_VARS['ContactBy'];
  $FoundUs = $HTTP_POST_VARS['FoundUs'];

  // here we'll hard code a text message
  // again, in reality, you'll normally get this from the form submission
  $message = "
  My Title is: $myTitle,
  My First Name is: $myFirstName,
  My Second Name is: $myLastName,
  My Telephone number is: $myTelephone,
  My Email is: $myEmail,
  Message: $myMessage,
  Contact Me via: $ContactBy,
  Found us via: $FoundUs";

  // if the upload succeded, the file will exist
  if (file_exists($tmp_name)){

     // check to make sure that it is an uploaded file and not a system file
     if(is_uploaded_file($tmp_name)){

        // open the file for a binary read
        $file = fopen($tmp_name,'rb');

        // read the file content into a variable
        $data = fread($file,filesize($tmp_name));

        // close the file
        fclose($file);

        // now we encode it and split it into acceptable length lines
        $data = chunk_split(base64_encode($data));
    }

     // now we'll build the message headers
     $headers = "From: $from\r\n" .
        "MIME-Version: 1.0\r\n" .
        "Content-Type: multipart/mixed;\r\n" .
        " boundary=\"{$mime_boundary}\"";

     // next, we'll build the message body
     // note that we insert two dashes in front of the
     // MIME boundary when we use it
     $message = "This is a multi-part message in MIME format.\n\n" .
        "--{$mime_boundary}\n" .
        "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
        "Content-Transfer-Encoding: 7bit\n\n" .
        $message . "\n\n";

     // now we'll insert a boundary to indicate we're starting the attachment
     // we have to specify the content type, file name, and disposition as
     // an attachment, then add the file content and set another boundary to
     // indicate that the end of the file has been reached
     $message .= "--{$mime_boundary}\n" .
        "Content-Type: {$type};\n" .
        " name=\"{$name}\"\n" .
        //"Content-Disposition: attachment;\n" .
        //" filename=\"{$fileatt_name}\"\n" .
        "Content-Transfer-Encoding: base64\n\n" .
        $data . "\n\n" .
        "--{$mime_boundary}--\n";

     // now we just send the message
     if (@mail($to, $subject, $message, $headers))
        echo "Thank you for applying to AgilityWorks.";
     else
        echo "Failed to send";
  }
} else {
?>

 

 

Link to comment
Share on other sites

Do you just not get what you're doing with the code?

 

<?php
if ($_SERVER['REQUEST_METHOD']=="POST"){

// we'll begin by assigning the To address and message subject
$to=$HTTP_POST_VARS['ToEmail'];

$subject="E-mail with attachment";

// get the sender's name and email address
// we'll just plug them a variable to be used later
$from = stripslashes($_POST['FirstName'])."<".stripslashes($_POST['EMail']).">";

// generate a random string to be used as the boundary marker
$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";

// store the file information to variables for easier access
$tmp_name = $_FILES['filename']['tmp_name'];
$type = $_FILES['filename']['type'];
$name = $_FILES['filename']['name'];
$size = $_FILES['filename']['size'];
$myTitle = $HTTP_POST_VARS['Title'];
$myFirstName = $HTTP_POST_VARS['FirstName'];
$myLastName = $HTTP_POST_VARS['LastName'];
$myTelephone = $HTTP_POST_VARS['Telephone'];
$myEmail = $HTTP_POST_VARS['EMail'];
$myMessage = $HTTP_POST_VARS['Message'];
$ContactBy = $HTTP_POST_VARS['ContactBy'];
$FoundUs = $HTTP_POST_VARS['FoundUs'];

// here we'll hard code a text message
// again, in reality, you'll normally get this from the form submission
$message = "
My Title is: $myTitle,
My First Name is: $myFirstName,
My Second Name is: $myLastName,
My Telephone number is: $myTelephone,
My Email is: $myEmail,
Message: $myMessage,
Contact Me via: $ContactBy,
Found us via: $FoundUs";

// now we'll build the message headers
$headers = "From: $from\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: multipart/mixed;\r\n" .
" boundary=\"{$mime_boundary}\"";

// next, we'll build the message body
// note that we insert two dashes in front of the
// MIME boundary when we use it
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";

// if the upload succeded, the file will exist
if (file_exists($tmp_name)){

	// check to make sure that it is an uploaded file and not a system file
	if(is_uploaded_file($tmp_name)){
		// open the file for a binary read
		$file = fopen($tmp_name,'rb');

		// read the file content into a variable
		$data = fread($file,filesize($tmp_name));

		// close the file
		fclose($file);

		// now we encode it and split it into acceptable length lines
		$data = chunk_split(base64_encode($data));
	}
	// now we'll insert a boundary to indicate we're starting the attachment
	// we have to specify the content type, file name, and disposition as
	// an attachment, then add the file content and set another boundary to
	// indicate that the end of the file has been reached
	$message .= "--{$mime_boundary}\n" .
	"Content-Type: {$type};\n" .
	" name=\"{$name}\"\n" .
	//"Content-Disposition: attachment;\n" .
	//" filename=\"{$fileatt_name}\"\n" .
	"Content-Transfer-Encoding: base64\n\n" .
	$data . "\n\n" .
	"--{$mime_boundary}--\n";
}

// now we just send the message
if (@mail($to, $subject, $message, $headers))
	echo "Thank you for applying to AgilityWorks.";
else
echo "Failed to send";
} else {
?>

Link to comment
Share on other sites

I am not trying to intrude on the post.  However it seems that this might be a person called "malice" that use to start trouble on the forms.  I am pretty sure if you keep answering his questions he is going to continue running you around in circles.  He does that to try and make people look stupid, just my advice.  If I am wrong I apologize for interrupting.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.