繁体   English   中英

PHP MySQL - 添加新记录时发送电子邮件警报但是

[英]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_atupdated_at这样的列。 创建记录时,可以为这两列分配相同的值。 如果这些值相等,那就是一个全新的记录。 如果它们不同,则它是已更新的现有记录。

在插入过程中创建一个与google邮件服务或任何其他选择连接的小脚本,并使用创建的预定义电子邮件发送电子邮件,以便将电子邮件发送到所需的电子邮件地址,例如每次插入新记录时都会发送新电子邮件从x@gmail.com到xxx@xxx.xx,其中x是发送的电子邮件,xxx是接收者。

暂无
暂无

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

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