[英]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.