Jump to content

Error message with email form with file/image attachment -- NEED HELP!


rachieann

Recommended Posts

I found this original coding somewhere and changed it to suit my needs:

 

form.php:

<div id="form">

<form  action="email.php" enctype="multipart/form-data" method="post" onsubmit="document.getElementById('container0').style.display=''; document.getElementById('container2').style.display='none'; progress(); return true;">
<fieldset id="fieldset">

<label for="eventname">Event Name<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($eventname)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="eventname" type="text" name="eventname" value="<?php print "$eventname"; ?>" tabindex="1" />

<br />

<label for="eventdate">Event Date<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($eventdate)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="eventdate" type="text" name="yeventdate" value="<?php print "$eventdate"; ?>" tabindex="1" />

<br />

<label for="eventtime">Event Time(s)<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($eventtime)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="eventtime" type="text" name="eventtime" value="<?php print "$eventtime"; ?>" tabindex="1" />

<br />

<label for="eventlocation">Event Location<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($eventlocation)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="eventlocation" type="text" name="eventlocation" value="<?php print "$eventlocation"; ?>" tabindex="1" />

<br />

<label for="locationaddress">Location Address<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($locationaddress)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="locationaddress" type="text" name="locationaddress" value="<?php print "$locationaddress"; ?>" tabindex="1" />

<br />

<label for="citystate">City/State<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($citystate)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="citystate" type="text" name="citystate" value="<?php print "$citystate"; ?>" tabindex="1" />

<br />

<label for="eventcost">Event Cost<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($eventcost)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="eventcost" type="text" name="eventcost" value="<?php print "$eventcost"; ?>" tabindex="1" />

<br />

<label for="eventdescription">Event Description<span style="color: red;">*</span>:</label>
<textarea <?php if (!empty ($hidden)) { if (empty ($eventdescription)) { print 'style="background: pink;"'; } } ?>class="form_elements" id="eventdescription" name="eventdescription" cols="19" rows="5" tabindex="1"><?php print "$eventdescription"; ?></textarea>

<br />

<label for="eventwebsite">Event website:</label>
<input class="form_elements" id="eventwebsite" type="text" name="eventwebsite" value="<?php print "$eventwebsite"; ?>" tabindex="1" />

<br />

<label for="eventemail">Event email address:</label>
<input class="form_elements" id="eventemail" type="text" name="eventemail" value="<?php print "$eventemail"; ?>" tabindex="1" />

<br />

<label for="eventphone">Event phone number:</label>
<input class="form_elements" id="eventphone" type="text" name="eventphone" value="<?php print "$eventphone"; ?>" tabindex="1" />

<br /><br />

<label for="fileatt">Attach image:</label>
<input id="fileatt" type="file" name="fileatt"  tabindex="1" />

<br /><br />

The following information will not be posted unless indicated above:

<br />

<label for="yourname">Your Name<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($yourname)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="yourname" type="text" name="yourname" value="<?php print "$yourname"; ?>" tabindex="1" />

<br />

<label for="youremail">Your Email<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($youremail)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="youremail" type="text" name="youremail" value="<?php print "$youremail"; ?>" tabindex="1" />

<br />    

<label for="confirm_email">Confirm e-mail<span style="color: red;">*</span>:</label>
<input <?php if (!empty ($hidden)) { if (empty ($confirm_email)) { print 'style="background: pink;"'; } } ?> class="form_elements" id="confirm_email" type="text" name="confirm_email" value="<?php print "$confirm_email"; ?>" tabindex="1" />

<br /><br />

<input  type="hidden" name="hidden"  value="1" /><br />
<label for="submit"><span style="color: red;">*</span> Required fields.</label>
<input id="submit" type="submit" value="Submit" tabindex="1" />
</fieldset>

</form>
</div>

 

email.php:

<?php ob_start();

$to = '[email protected]';

$keys = array('eventname', 'eventdate', 'eventtime', 'eventlocation',  
'locationaddress', 'citystate', 'eventcost', 'eventdescription',  
'yourname', 'youremail', 'confirm_email', 'hidden');
foreach($keys as $key)

{$$key = isset($_POST[$key]) ? $_POST[$key] : null ;}

print ('
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso- 
8859-1" />
<title>Email</title>
<script type="text/javascript">
/*<![CDATA[*/
function progress(){
intWidth = parseInt(document.getElementById("container1").style.width)  
+ 1;
if(intWidth <= 400){
     document.getElementById("container1").style.width = intWidth+"px";
}else{
     document.getElementById("container1").style.width = 0;
}
     setTimeout("progress()",300);
}
/*]]>*/
</script>
</head>

<body>
');

//Make sure email and confirm email are the same
if (!empty ($hidden)) {
    if ($youremail == $confirm_email) {
    }else{
    $youremail = '';
    $confirm_email = '';
    }
}


//Do a reg_ex check on the email
if (!empty ($hidden)) {    
   $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-] 
+)*(\.[a-z]{2,4})$";
   if (eregi($regexp, $youremail))
   {
   }else{
       $youremail = '';
    $confirm_email = '';
   }
}
// End of email checking

if (empty ($hidden)) {

print ('<div id="container2">
<h1 id="content_h1"><a name="text">    E-mail </a></h1> <p>Please use  
the following form to e-mail us:</p>

');

include ("form.php");    
    
print ('</div>

<div id="container0" style="display: none;">
<p style="font-size: 15pt; font-family: sans-serif; color:#fd6700;  
background:#fff;">
Loading...
</p>

<div id="container1" style="width:0px; height:5px; background- 
color:#fd6700; margin-top:0px; text-align: left;"></div>

<p>Please be patient while your data is processed. This may take a few  
moments especially if you are uploading a file.</p>

</div>
');

}

if (!empty ($hidden)) {
    
    if ($_FILES['fileatt']['error'] == 1){
        print ('<h1 id="content_h1"><a name="text">There has been an  
error</a></h1>  
                <p>The maximum file size that can be uploaded using  
this form is 2 megabytes.
                </p>');
                
    }elseif ( (!empty ($eventname)) && (!empty ($eventdate)) && (!empty 


($eventtime)) && (!empty ($eventlocation)) && (!empty  
($locationaddress)) && (!empty ($citystate)) && (!empty ($eventcost))  
&& (!empty ($eventdescription)) && (!empty ($yourname)) && (!empty  
($youremail))) {
    
    // Get html message content
$form_data = "<p><span class=\"bold\">Event Name:</span> $eventname<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Date:</span> $eventdate<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Time(s):</span> $eventtime< 


\n\n ";
$form_data = "<p><span class=\"bold\">Event Location:</span>  
$eventlocation< \n\n ";
$form_data = "<p><span class=\"bold\">Location Address:</span>  
$locationaddress< \n\n ";
$form_data = "<p><span class=\"bold\">City/State:</span> $citystate<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Cost:</span> $eventcost<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Description:</span>  
$eventdescription< \n\n ";
$form_data = "<p><span class=\"bold\">Event website:</span>  
$eventwebsite< \n\n ";
$form_data = "<p><span class=\"bold\">Event email address:</span>  
$eventemail< \n\n ";
$form_data = "<p><span class=\"bold\">Event phone number:</span>  
$eventphone< \n\n ";
$form_data = "<p><span class=\"bold\">Submitted by:</span> $yourname<  
\n\n ";
$form_data = "<p><span class=\"bold\">Their email address:</span>  
$youremail";

$message =         "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0  
Strict//EN\" \n" .
                "    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1- 
strict.dtd\"> \n" .
                "<html xmlns=\"http://www.w3.org/1999/xhtml\"> \n" .
                "<head> \n" .
                "  <meta http-equiv=\"content-type\" content= \n" .
                "  \"text/html; charset=iso-8859-1\" /> \n" .
                "<style type=\"text/css\"> \n" .
                "body {    font-size: 9pt; font-family:  verdana, sans 
-serif;     color: #000; background:#fff; }  \n" .
                ".bold { font-weight: bold; }  \n" .
                "</style>  \n" .
                "</head> \n" .
                "<body>$form_data \n" .
                "</body> \n" .
                "</html> \n\n";

// Obtain file upload vars
$fileatt      = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $from";

if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);

// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
             "Content-Type: multipart/mixed;\n" .
             " boundary=\"{$mime_boundary}\"";

// Add a multipart boundary above the html message
$message = "This is a multi-part message in MIME format.\n\n" .
            "--{$mime_boundary}\n" .
            "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
            "Content-Transfer-Encoding: 7bit\n\n" .
            $message . "\n\n";                

// Base64 encode the file data
$data = chunk_split(base64_encode($data));

//We now have everything we need to write the portion of the message  
that contains the file attachment. Here's the code:

// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
             "Content-Type: {$fileatt_type};\n" .
             " name=\"{$fileatt_name}\"\n" .
             "Content-Disposition: attachment;\n" .
             " filename=\"{$fileatt_name}\"\n" .
             "Content-Transfer-Encoding: base64 \n\n" .
             $data . "\n\n" .
             "--{$mime_boundary}--\n";
}else{
     // Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
             "Content-Type: multipart/mixed;\n" .
             " boundary=\"{$mime_boundary}\"";

// Add a multipart boundary above the html message
$message = "This is a multi-part message in MIME format.\n\n" .
            "--{$mime_boundary}\n" .
            "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
            "Content-Transfer-Encoding: 7bit\n\n" .
            $message . "\n\n";
}                        

//That completes the modifications necessary to accommodate a file  
attachment. We can now send the message with a quick call to mail:

// Send the message
mail($to, "$subject, $message, $headers);

$body = "Dear $yourname, \n\nThank you for your event submission. \n  
\n";

mail ($youremail, "Re: $subject", $body,  
'From:[email protected]');

print ('<h1 id="content_h1"><a name="text">            Thank you        


     </a></h1> <p>Thank you for your event submission. You will receive 

an automatic e-mail immediately confirming the reception of your 

email.</p>');

}else{
    print ('<h1 id="content_h1"><a name="text">There has been an  
error</a></h1>  <p>Please fill in all the compulsory fields correctly  
and then resubmit the form. Thank you.</p>');
    include ("form.php");    
}
}

// This is the end of the insert

print ('

  </div>
</body>
</html>
');

ob_end_flush(); ?>

 

Now my problem:

When I test the form I get this error:

Parse error: syntax error, unexpected T_STRING in email.php on line 186

 

Can anyone help me out here? I have tried everything I can think of.

 

that contains the file attachment. Here's the code:

 

You do not have that commented out. Make it like this:

//that contains the file attachment. Here's the code:

 

And hopefully that fixes your syntax error.

another one below that:

 

//That completes the modifications necessary to accommodate a file

attachment. We can now send the message with a quick call to mail:

 

every line that is a comment needs to be properly commented using:

 

<?php
#comment
//comment
/*
* comment
*/
?>

@premiso

I added what you told me to add:

<?php ob_start();

$to = '[email protected]';

$keys = array('eventname', 'eventdate', 'eventtime', 'eventlocation',  
'locationaddress', 'citystate', 'eventcost', 'eventdescription',  
'yourname', 'youremail', 'confirm_email', 'hidden');
foreach($keys as $key)

{$$key = isset($_POST[$key]) ? $_POST[$key] : null ;}

print ('
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso- 
8859-1" />
<title>Email</title>
<script type="text/javascript">
/*<![CDATA[*/
function progress(){
intWidth = parseInt(document.getElementById("container1").style.width)  
+ 1;
if(intWidth <= 400){
     document.getElementById("container1").style.width = intWidth+"px";
}else{
     document.getElementById("container1").style.width = 0;
}
     setTimeout("progress()",300);
}
/*]]>*/
</script>
</head>

<body>
');

//Make sure email and confirm email are the same
if (!empty ($hidden)) {
    if ($youremail == $confirm_email) {
    }else{
    $youremail = '';
    $confirm_email = '';
    }
}


//Do a reg_ex check on the email
if (!empty ($hidden)) {    
   $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-] 
+)*(\.[a-z]{2,4})$";
   if (eregi($regexp, $youremail))
   {
   }else{
       $youremail = '';
    $confirm_email = '';
   }
}
// End of email checking

if (empty ($hidden)) {

print ('<div id="container2">
<h1 id="content_h1"><a name="text">    E-mail </a></h1> <p>Please use  
the following form to e-mail us:</p>

');

include ("form.php");    
    
print ('</div>

<div id="container0" style="display: none;">
<p style="font-size: 15pt; font-family: sans-serif; color:#fd6700;  
background:#fff;">
Loading...
</p>

<div id="container1" style="width:0px; height:5px; background- 
color:#fd6700; margin-top:0px; text-align: left;"></div>

<p>Please be patient while your data is processed. This may take a few  
moments especially if you are uploading a file.</p>

</div>
');

}

if (!empty ($hidden)) {
    
    if ($_FILES['fileatt']['error'] == 1){
        print ('<h1 id="content_h1"><a name="text">There has been an  
error</a></h1>  
                <p>The maximum file size that can be uploaded using  
this form is 2 megabytes.
                </p>');
                
    }elseif ( (!empty ($eventname)) && (!empty ($eventdate)) && (!empty 


($eventtime)) && (!empty ($eventlocation)) && (!empty  
($locationaddress)) && (!empty ($citystate)) && (!empty ($eventcost))  
&& (!empty ($eventdescription)) && (!empty ($yourname)) && (!empty  
($youremail))) {
    
    // Get html message content
$form_data = "<p><span class=\"bold\">Event Name:</span> $eventname<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Date:</span> $eventdate<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Time(s):</span> $eventtime< 


\n\n ";
$form_data = "<p><span class=\"bold\">Event Location:</span>  
$eventlocation< \n\n ";
$form_data = "<p><span class=\"bold\">Location Address:</span>  
$locationaddress< \n\n ";
$form_data = "<p><span class=\"bold\">City/State:</span> $citystate<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Cost:</span> $eventcost<  
\n\n ";
$form_data = "<p><span class=\"bold\">Event Description:</span>  
$eventdescription< \n\n ";
$form_data = "<p><span class=\"bold\">Event website:</span>  
$eventwebsite< \n\n ";
$form_data = "<p><span class=\"bold\">Event email address:</span>  
$eventemail< \n\n ";
$form_data = "<p><span class=\"bold\">Event phone number:</span>  
$eventphone< \n\n ";
$form_data = "<p><span class=\"bold\">Submitted by:</span> $yourname<  
\n\n ";
$form_data = "<p><span class=\"bold\">Their email address:</span>  
$youremail";

$message =         "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0  
Strict//EN\" \n" .
                "    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1- 
strict.dtd\"> \n" .
                "<html xmlns=\"http://www.w3.org/1999/xhtml\"> \n" .
                "<head> \n" .
                "  <meta http-equiv=\"content-type\" content= \n" .
                "  \"text/html; charset=iso-8859-1\" /> \n" .
                "<style type=\"text/css\"> \n" .
                "body {    font-size: 9pt; font-family:  verdana, sans 
-serif;     color: #000; background:#fff; }  \n" .
                ".bold { font-weight: bold; }  \n" .
                "</style>  \n" .
                "</head> \n" .
                "<body>$form_data \n" .
                "</body> \n" .
                "</html> \n\n";

// Obtain file upload vars
$fileatt      = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $from";

if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);

// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
             "Content-Type: multipart/mixed;\n" .
             " boundary=\"{$mime_boundary}\"";

// Add a multipart boundary above the html message
$message = "This is a multi-part message in MIME format.\n\n" .
            "--{$mime_boundary}\n" .
            "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
            "Content-Transfer-Encoding: 7bit\n\n" .
            $message . "\n\n";                

// Base64 encode the file data
$data = chunk_split(base64_encode($data));

//We now have everything we need to write the portion of the message  
//that contains the file attachment. Here's the code:

// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
             "Content-Type: {$fileatt_type};\n" .
             " name=\"{$fileatt_name}\"\n" .
             "Content-Disposition: attachment;\n" .
             " filename=\"{$fileatt_name}\"\n" .
             "Content-Transfer-Encoding: base64 \n\n" .
             $data . "\n\n" .
             "--{$mime_boundary}--\n";
}else{
     // Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
             "Content-Type: multipart/mixed;\n" .
             " boundary=\"{$mime_boundary}\"";

// Add a multipart boundary above the html message
$message = "This is a multi-part message in MIME format.\n\n" .
            "--{$mime_boundary}\n" .
            "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
            "Content-Transfer-Encoding: 7bit\n\n" .
            $message . "\n\n";
}                        

//That completes the modifications necessary to accommodate a file  
attachment. We can now send the message with a quick call to mail:

// Send the message
mail($to, "$subject, $message, $headers);

$body = "Dear $yourname, \n\nThank you for your event submission. \n  
\n";

mail ($youremail, "Re: $subject", $body,  
'From:[email protected]');

print ('<h1 id="content_h1"><a name="text">            Thank you        


     </a></h1> <p>Thank you for your event submission. You will receive 

an automatic e-mail immediately confirming the reception of your 

email.</p>');

}else{
    print ('<h1 id="content_h1"><a name="text">There has been an  
error</a></h1>  <p>Please fill in all the compulsory fields correctly  
and then resubmit the form. Thank you.</p>');
    include ("form.php");    
}
}

// This is the end of the insert

print ('

  </div>
</body>
</html>
');

ob_end_flush(); ?>

 

but now I'm getting this error:

Parse error: syntax error, unexpected T_STRING in email.php on line 216

 

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.