[英]PHP MySQL - Send email alert when a new record is added but
我需要在添加新记录时发送电子邮件警报,但该表还有输入字段,当用户编辑这些输入字段时我不需要警报。
我有一个用于设备交付日期的数据库。 用户将为一件设备安排交付,然后将日期输入后端数据库(SQL Server)。
我创建了一个查看后端数据库的php应用程序,并将总交付数量放在jquery日历上。
当用户点击日历上的特定日期时,它会弹出一个显示以下内容的表格:
Date
Equipment
Customer
然后我创建了一个mysql表,它将该信息推送到我的本地msyql表中,其中包含以下字段:
AssignedPerson
Status
Comments
然后,用户可以对交货做出记录。
问题是有时候交付日期会发生变化或者新的交付会被添加,除非我们不断检查php应用程序,否则我们都不会知道。
我想在添加新记录时发送警报,但是当用户更新表时我不需要警报。
这是我用户更新表时的代码。 再次,我只有在从SQL后端数据库向mysql表添加新记录时发出警报:
include('./PHPMailer-master/class.phpmailer.php');
servername_wamp = "localhost";
$username_wamp = "root";
$password_wamp = "";
if(isset($_POST['id']))
{
$id=mysql_escape_String($_POST['id']);
$AssignedPerson=mysql_escape_String($_POST['AssignedPerson']);
$ShipDate=mysql_escape_String($_POST['ShipDate']);
$Status=mysql_escape_String($_POST['Status']);
$Numofmachines=mysql_escape_String($_POST['Numofmachines']);
$Model=mysql_escape_String($_POST['Model']);
$a = mysql_connect($servername_wamp, $username_wamp, $password_wamp) or die(mysql_error());
$b = mysql_select_db('orders', $a) or die(mysql_error());
$result2 = mysql_query("SELECT * FROM orders WHERE OrderNumber='$OrderNumber' LIMIT 1",$a) or die(mysql_error());
$rs=mysql_fetch_row($result2);
if ($rs) {
if (($rs['ShipDate_log']=='')&&($Status=='Assigned')) {
$sd=", ShipDate_log='".$ShipDate."'";
$message1982 = "
<ul>
<li> <strong>ID:</strong> $id </li>
<li> <strong><font color='red'>Tech:</font></strong> $AssignedPerson </li>
<li> <strong>Ship Date:</strong> $ShipDate </li>
<li> <strong>Customer:</strong> $Customer </li>
<li> <strong>Status:</strong> $Status </li>
<li> <strong>Sales Rep:</strong> $SalesRep </li>
<li> <strong>Order Number:</strong> $OrderNumber</li>
<li> <strong>Number Of Machines:</strong> $Numofmachines </li>
</ul>
";
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = $message1982;
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = false; // authentication enabled
$mail->Host = "10.10.10.38";
$mail->Port = 25; // or 587
$mail->IsHTML(true);
$mail->SetFrom("nservice2@everyone.com");
$address = "bot@everyone.com";
$mail->AddAddress($address, "John");
$mail->Subject = ''. $Customer. ' Ticket Assigned';
$mail->MsgHTML($body);
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
很多人都添加了像created_at
和updated_at
这样的列。 创建记录时,可以为这两列分配相同的值。 如果这些值相等,那就是一个全新的记录。 如果它们不同,则它是已更新的现有记录。
在插入过程中创建一个与google邮件服务或任何其他选择连接的小脚本,并使用创建的预定义电子邮件发送电子邮件,以便将电子邮件发送到所需的电子邮件地址,例如每次插入新记录时都会发送新电子邮件从x@gmail.com到xxx@xxx.xx,其中x是发送的电子邮件,xxx是接收者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.