簡體   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