繁体   English   中英

数据库更新时触发自动电子邮件?

[英]Fire an automated email when database updated?

我正在尝试找出当我们使用“ frames in”更新数据库时向客户发送自动电子邮件的最佳方式。我在考虑javascript和php,但实际上不知道如何实现为nobo!

我的HTML表单显示需要触发电子邮件的复选框(由于长度而仅部分显示)

<form action="<?php echo $editFormAction; ?>" name="form" method="POST"> 
<input name="frame_in" type="checkbox" id="long_tiny" value="yes" <?php if (!(strcmp($row_Recordset1['frame_in'],"yes"))) {echo "checked=\"checked\"";} ?> />
<input type="hidden" name="MM_update" value="form">
</form>

php邮件脚本(不确定是否完全正确)

$mailTo = $row_customer['email'];
$subject = 'Your Frames Now in!!';
$cName = $row_Recordset2['cName'];
$jobRef = $row_Recordset2['customer_ref'];
$ourRef = $row_Recordset2['our_ref'];
$jobTotal = $row_recordset2['amount'];
mail($mailTo, $subject,
$cName your job Ref: $jobref is now in
<br>
<h2>Details:</h2>
<p>Our ref: $ourRef<br>
Customer Ref: $jobref<br>
Job total: $jobtotal</p>
); 

我真的不知道如何将所有内容结合在一起,我想这将需要进行错误处理,因为不是每个客户都有一封电子邮件(但是不需要显示错误)

$mailTo = $row_customer['email'];
$subject = 'Your Frames Now in!!';
$cName = $row_Recordset2['cName'];
$jobRef = $row_Recordset2['customer_ref'];
$ourRef = $row_Recordset2['our_ref'];
$jobTotal = $row_recordset2['amount'];
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$message = "$cName your job Ref: $jobref is now in
<br>
<h2>Details:</h2>
<p>Our ref: $ourRef<br>
Customer Ref: $jobref<br>
Job total: $jobtotal</p>";
if($_POST['frame_in'] == "yes") {
mail($mailTo, $subject,$message, $headers); 
}

这是一个非常广泛的问题。 您需要做的是:

  1. $editFormAction处理表单
  2. 如果设置了$_POST['frame_in'] ,请执行以下操作:
    • 获得所有客户
    • 向具有电子邮件地址的人发送电子邮件
  3. 在您的站点上为未注册电子邮件地址的登录用户(或一般而言...)发布警告。

无需其他JavaScript。

你到底困在哪里?

您可以尝试发送电子邮件的数据库触发器。 数据库本身将发送电子邮件,而根本不涉及php。 这也将更具包容性,因为它将发送电子邮件,而无论字段是由谁或什么来更改的,包括来自PhpMyAdmin或其他网页/脚本的更改。

http://dev.mysql.com/doc/refman/5.0/en/triggers.html

http://forums.mysql.com/read.php?99,33635,33635#msg-33635

这可能受到限制,具体取决于您的托管环境。 如果您使用共享主机,则出于安全原因,您不能使用触发器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM