Jump to content

Can't get a simple e-mail form to work


csacton

Recommended Posts

Hi I'm trying to set up my first contact form, but I keep getting this error message:

 

Parse error: syntax error, unexpected end of file in /home/remem539/public_html/php/testform.php on line 85

 

here's my code, what am I doing wrong?

 

<?php

if ($_POST['parse_var'] == "testform"){
 
$emailtitle = 'New E-mail';
$youremail = '[email protected]';
 
$namefield = $_POST['name'];
$emailfield = $_POST['email'];
$messagefield = $_POST['message'];
 
$body = <<<EOD
<br><hr><br>
Name: $namefield <br />
Email: $emailfield <br />
Message: $messagefield <br />
EOD;
 
$headers = "From: $emailfield\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail("$youremail", "$emailtitle", "$body", "$headers");
 
$sent = "Thank you!";
}
 
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/xml; charset=utf-8" />
 
    <title>Contact Form</title>
    
  </head>
  
  <body> 
    
    <table width="400" border="1" cellpadding="0" align="center">
      <tr>
        <td align="center">Contact me?
          <br />
          <br />
          <form id="contactform" name="contactform" methord="post" action="testform.php">
            <table width="100%" border="0" cellpadding="3">
              <tr>
                <td width="25%" align="right">Name:</td>
                <td width="75%">
                  <label for="name"></lable>
                  <input type="text" name="name" id="name" maxlength="30" size="30" value="<?php print "$namefield"; ?>" />
                </td>
              </tr>
              <tr>
                <td width="25%" align="right">Email:</td>
                <td width="75%">
                  <label for="email"></lable>
                  <input type="text" name="email" id="email" maxlength="50" size="50" value="<?php print "$emailfield"; ?>" />
                </td>
              </tr>
              <tr>
                <td width="25%" align="right">Message:</td>
                <td width="75%">
                  <label for="message"></lable>
                  <textarea name="message" id="message" cols="40" rows="5"><?php print "$messagefield"; ?></textarea>
                </td>
              </tr>
              <tr>
                <td width="25%"></td>
                <td width="75%" align="right">
                  <input type="reset" name="reset" id="reset" value="reset" />
                  <input type="hidden" name="parse_var" id="parse_var" value="testform" />
                  <input type="submit" name="submit" id="submit" value="submit" />
                </td>
              </tr>
              <tr>
                <td width="100%"><?php print "$sent"; ?></td>
              </tr>
            </table>
          </form>
        </td>
      </tr>
    </table>
  
  </body>
</html>
Link to comment
https://forums.phpfreaks.com/topic/292261-cant-get-a-simple-e-mail-form-to-work/
Share on other sites

Is there any space before the closing identifier in your HEREDOC statement?

$body = <<<EOD
<br><hr><br>
Name: $namefield <br />
Email: $emailfield <br />
Message: $messagefield <br />
EOD;
 
It's a little difficult to tell since this forum tends to strip out tabs. More information about HEREDOC can be found in the manual (note the warning in the pink box):

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.