从数据库提交的PHP表单邮件

时间:2012-10-05 21:37:00

标签: php forms email while-loop

新项目的时间...我有一台服务器,它可以在一天内发送的电子邮件数量有限,所以我想也许我应该让表格将它们放入数据库并通过电子邮件发送给他们每天一次发送一条消息作为单行消息,每次提交表单时,换行符都会被换成新消息。我的提交表格有效,以及我的查询。我的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);

我的主题和目的地已经设定。

2 个答案:

答案 0 :(得分: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 />";

请注意.=

在进入while循环($message

之前,请确保定义$message = "";

答案 1 :(得分:0)

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

相关问题