2

当用户提交表单时,我正在使用 PHPMailer 在 HTML 表单中发送表单数据。fullName在电子邮件正文中加上引号时会出现语法错误。如果没有引号,则不会显示错误。我是 PHP 新手,当我声明一组代码是 HTML 时,我不确定如何从 PHP 中引用 HTML 表单。这是我的代码:

注意:我正在使用 Dreamweaver 对此进行编码,有时语法更正不正确,但我想在忽略它并对整个文档进行编码之前确定。

<?php
require("class.phpmailer.php");
$mail = new PHPMailer();$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp1.example.com;smtp2.example.com";
$mail->SMTPAuth = true;
$mail->Username = 'smtpusername';
$mail->Password = 'smtppassword';

$mail->From="mailer@example.com";
$mail->FromName="My site's mailer";
$mail->Sender="mailer@example.com";

$mail->AddAddress("email@example.com");
$mail->Subject = "Test 1";

$mail->IsHTML(true);
$mail->Body = "
<h1>Graphics Request</h1>

Name: $_POST['fullName']<br />
";
$mail->AltBody="This is text only alternative body.";

if(!$mail->Send())
{
   echo "Error sending: " . $mail->ErrorInfo;;
}
else
{
   echo "Letter is sent";
}
?>
4

3 回答 3

1

也就是说,实际上是 PHP 中的语法错误。因为你在一个双引号字符串中,你可以(而且必须)写$_POST[fullname]在那里。

这是 PHP 设计者试图帮助你的一个例子。就像他们破坏布尔运算符和continueinside a的行为时所做的那样switch

于 2012-06-28T19:54:46.287 回答
1

我把所有的帖子结果都放在变量中,你应该养成这个习惯,它会让事情像上面那样工作。只是我的 0.02 美分

于 2012-06-28T20:29:39.797 回答
0

改写为:

$mail->Body = "
<h1>Graphics Request</h1>

Name: {$_POST['fullName']}<br />
";
于 2012-06-28T19:56:46.663 回答