0

是时候进行一个新项目了...我有一个服务器,它对一天内可以发送的电子邮件数量有限制,所以我想也许我应该让表单将它们放入数据库中,然后将它们作为一条消息通过电子邮件发送一次一天作为单个消息被换行符打破,因为每次提交表单时都会出现新消息。我的提交表格有效,以及我的查找。我的 while 语句将数据拉出,如果我回显它,它会完美显示。我唯一遇到的问题是当我尝试将数组放入 mail() 函数时。它也每次都给我发电子邮件,只是每次都没有内容。

我的while语句如下(回声留在里面):

while ($ctform_row = mysql_fetch_array($ctform_query, MYSQL_ASSOC)) {
echo $ctform_row['name']." - ".$ctform_row['email']." - ".$ctform_row['Phone']." - ".$ctform_row['message']." - ".$ctform_row['date']."<br />";
}

我试图用 $message 替换 echo,它在电子邮件中随机显示一行。我究竟做错了什么?我的表单邮件功能如下:

mail($destination, $subject, $message);

我的主题和目的地已经设置好了。

4

2 回答 2

1

在没有看到您的代码的情况下,您的描述使我相信您使用的是赋值运算符而不是串联运算符。

即你这样做:

$message = $ctform_row['name']." - ".$ctform_row['email']." - ".$ctform_row['Phone']." - ".$ctform_row['message']." - ".$ctform_row['date']."<br />";

你应该这样做:

$message .= $ctform_row['name']." - ".$ctform_row['email']." - ".$ctform_row['Phone']." - ".$ctform_row['message']." - ".$ctform_row['date']."<br />";

注意.=

只需确保$message在进入 while 循环之前定义($message = "";

于 2012-10-05T21:41:14.397 回答
0

你说它每次都给你发电子邮件,我想这对你来说是个问题。您应该将所有用于收集、发送和清除(?!)数据的代码放在一个单独的 PHP 文件中,然后在您的服务器上创建一个 cronjob 以每天向您发送电子邮件。

于 2012-10-05T21:44:31.660 回答