来自数据库提交的 PHP 表单邮件



新项目的时间...我有一个服务器,它一天可以发送的电子邮件数量有限制,所以我想也许我应该让表单将它们放入数据库中,并每天将它们作为一封邮件通过电子邮件发送一次,因为每条提交表单时都会收到一封由换行符断开的消息。我的提交表单有效,我的查找也有效。我的 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);

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

没有看到你的代码,你的描述让我相信你使用的是赋值运算符而不是连接运算符。

即你正在这样做:

$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 />";

请注意.=

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

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

最新更新