【问题标题】:Please Help me. I am getting EOD tag Error while form processing in PHP请帮我。在 PHP 中处理表单时出现 EOD 标记错误
【发布时间】:2014-03-11 10:27:06
【问题描述】:

请帮帮我,

我正在处理 PHP 表单,我得到了这个链接

http://www.htmlgoodies.com/beyond/php/article.php/3855686

完成教程后出现以下错误。

解析错误:语法错误,第 50 行 /home/TestSub/public_html/form/contactformprocess.php 中的意外 $end

这是我的代码

    <?php 
$emailSubject = 'Contact Form';
$webMaster = 'Test@gmail.com';

$emailField = $_POST['email'];
$nameField = $_POST['name'];
$phoneField = $_POST['phone'];
$sexField = $_POST['sex'];
$country = $_POST['country'];
$messageField = $_POST['message'];
$newsletterField = $_POST['newsletter'];    


$body = <<<EOD
<br><hr><br>
Email: $email <br>
Name: $name <br>
Phone Number : $phone <br>
Sex : $sex <br>
Country : $country <br>
Message : $message <br>
Newsletter : $newsletter <br>
EOD;

$headers = "From: $email\r\n";
$headers .="Content-type:text/html\r\n";
$success = mail ($webMaster,$emailSubject,$body,$headers);

$theResults = <<<EOD

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>

<body>

<h1>Thank you For your intrest ! We will get back you very soon</h1>
</body>

</html>

EOD;
echo "$theResults";     

   ?>

【问题讨论】:

  • 请向我们提供您的代码。
  • 请出示您的代码。
  • 以上教程来自 tutvid.com。我第一次使用 PHP EOD 标签。
  • @shindedeepakm 我们知道。但是您可能在某个地方犯了错误。因此,请将您的代码复制粘贴到此处或 Pastebin.com 上,以便我们查看。

标签: php


【解决方案1】:

据我所知,您的代码中没有语法错误。你确定这两个

EOD;

是否放在行首?

前面不能有任何制表符或空格。这会产生错误,因为heredoc 声明的结束标记不在行首。

$body = <<<EOD
<br><hr><br>
Email: $email <br>
Name: $name <br>
Phone Number : $phone <br>
Sex : $sex <br>
Country : $country <br>
Message : $message <br>
Newsletter : $newsletter <br>
    EOD; // <-- this is wrong
EOD; // <-- this is right

【讨论】:

  • 谢谢大家。感谢您的回复。实际上我已经为代码的清洁做了。我从 EOD 标签中删除了标签。但仍然没有收到任何电子邮件。请帮我。 ?
  • 由于您编写了“$webMaster = 'Test@gmail.com';”,因此电子邮件将发送到该电子邮件地址。否则您的主机可能会阻止“mail()”功能。通过输入 "var_dump($success);" 检查 $success 变量的结果在 mail() 函数下方。
  • 感谢您的回复。我已将电子邮件 ID 更改为我的 ID。并上传到服务器。测试后我没有收到邮件。你能提供一些用于表单处理的替代代码吗?这会很有帮助。
  • 根据您的建议,我在邮件功能下实现了 var_dump($success)。所以它以“bool(false)”结尾。请你帮我解决这个问题。
  • 这可能意味着您的主机不允许发送电子邮件。看看这篇文章:stackoverflow.com/questions/5496461/….
猜你喜欢
  • 2020-03-15
  • 1970-01-01
  • 2018-01-29
  • 2012-05-20
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多