很抱歉,但我对PHP很陌生,我正在尝试创建一个非常简单的表单,当用户输入电子邮件地址时,它会将电子邮件发送回用户。我希望消息包含我们数据库中的一些数据。 我已经能够创建一个只要我手动输入消息就可以完美工作的表单(如$message = "Hi. How you doing?"
),但我似乎无法弄清楚如何合并记录集数据。我希望使用类似的东西...
<?php
$to = $_REQUEST['Email'] ;
$message = '<?php echo $row_rsPersonUser['bio']; ?>'; <<<<<<<<Line 63
$fields = array();
$fields{"Email"} = "Email";
$headers = "From: noreply@domain.ca";
$subject = "Thank you";
mail($to, $subject, $message, $headers);
?>
我从中得到的是"解析错误:语法错误,意外T_STRING......在第 63 行"。 我知道它的格式错误,但我不知道为什么。 当我将其放入正文时,我想要的信息确实显示在网页上,因此我知道该部分正在工作。欢迎任何帮助。
谢谢
您不必在 PHP 代码本身中使用 PHP 开始和结束标签
$message = '<?php echo $row_rsPersonUser['bio']; ?>'; // this is wrong
^^^^^ ^^
应该是
$message = $row_rsPersonUser['bio'];
只需更改第 63 行,如下所示。
您不能在另一个<?php
块中启动一个<?php
块
$message = $row_rsPersonUser['bio'];
如果你这样做,它只会<?php echo…
打印为文字,因为你不能将php代码作为电子邮件发送,只有html/计划文本
$message = '<?php echo $row_rsPersonUser['bio']; ?>';
应该是:
$message = $row_rsPersonUser['bio'];
和(我测试了以下内容,看起来{}
的工作,但您可能只想切换到 []
的标准化,不确定以后是否会遇到麻烦?
寄件人: http://us1.php.net/manual/en/language.types.array.php
注意: 方括号和大括号都可以互换用于访问数组元素(例如$array[42]和$array{42}在上面的例子中都会做同样的事情)。
$fields{"Email"} = "Email";
应该是:
$fields["Email"] = "Email";
你已经在 php 代码中,不需要在变量名中添加额外的 php 开始和结束标签。与使用 $to 变量的方式类似,您可以使用 $message 变量。所以使用
$message = $row_rsPersonUser['bio'];
它会正常工作。