csacton Posted November 4, 2014 Share Posted November 4, 2014 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 = 'junk@remembertheprojector.com'; $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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <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> Quote Link to comment https://forums.phpfreaks.com/topic/292261-cant-get-a-simple-e-mail-form-to-work/ Share on other sites More sharing options...
Solution cyberRobot Posted November 4, 2014 Solution Share Posted November 4, 2014 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): http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc Quote Link to comment https://forums.phpfreaks.com/topic/292261-cant-get-a-simple-e-mail-form-to-work/#findComment-1495681 Share on other sites More sharing options...
csacton Posted November 5, 2014 Author Share Posted November 5, 2014 Hi cyberRobot, Yeah the <br><hr><br> was in the right place, but the closing EOD; wasn't at the beginning of the line, that link you sent got me there. Thanks. Quote Link to comment https://forums.phpfreaks.com/topic/292261-cant-get-a-simple-e-mail-form-to-work/#findComment-1495780 Share on other sites More sharing options...
cyberRobot Posted November 5, 2014 Share Posted November 5, 2014 No problem; glad to help! Quote Link to comment https://forums.phpfreaks.com/topic/292261-cant-get-a-simple-e-mail-form-to-work/#findComment-1495783 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.