亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想從某個時間點發送電子郵件

我想從某個時間點發送電子郵件

慕容森 2022-12-02 15:48:57
我為一家向客戶銷售維護包(以小時為單位)的公司做秒表。每個客戶在他的包中都有一個定義的時間。當員工為客戶工作時,他啟動秒表,完成后將完成的任務(包括完成日期、評論和以分鐘為單位的時間)發送到數據庫中。我還被要求在包中剩余時間達到 1 小時時自動向項目經理發送電子郵件。我用 JavaScript 制作了秒表,并將其集成到 PHP 代碼中。我分配了一個“標志”,允許確定何時發送有問題的郵件(合同時間 - 秒表時間)。但是,我在使用 document.getElementById("flag").innerHTML 時遇到的問題是標志值的變化只出現 1 秒。因為我想通過 mail() 函數在 php 中發送郵件,所以我需要在標志設置為 true 時保存此值,并將其作為 POST 方法傳輸,以便稍后能夠發送郵件。這是秒表的部分代碼:// Calcul de temps du chronomètre (en secondes)function envoyerAudio(minutes,heures,secondes){minAlarm = parseInt(minutes);hrAlarm  = parseInt(heures);secAlarm = parseInt(secondes);flagAudio = true;    if (hrAlarm!= 00) {        minAlarm = minAlarm + (hrAlarm * 60);    }    if (minAlarm != 00){        secAlarm = secAlarm + (minAlarm * 60);    }return secAlarm;}var resultat = ((tempsRestant * 60) - (envoyerAudio(min,hr,sec)));// Gestion des alarmes if(resultat == 3600){    audio.play();    // Permet, lorsque flagAlert="true", d'envoyer un mail au chargé de projet    document.getElementById("flagAlert").innerHTML = "true";} else{    document.getElementById("flagAlert").innerHTML = "false";   }if(resultat == 0){    audio.play();   }if(resultat == -3000){    audio.play();    alert ("Arrêtez la tache en cours !!");}你對我如何實現我想要的有什么想法嗎?
查看完整描述

2 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

notifyProjectManager.php這應該向$_GET變量中包含您需要的值發送請求。您可以更改var paramsKeys以添加更多鍵。


// Calcul de temps du chronomètre (en secondes)

function envoyerAudio(minutes, heures, secondes) {

    minAlarm = parseInt(minutes);

    hrAlarm = parseInt(heures);

    secAlarm = parseInt(secondes);

    flagAudio = true;

    if (hrAlarm != 00) {

        minAlarm = minAlarm + (hrAlarm * 60);

    }

    if (minAlarm != 00) {

        secAlarm = secAlarm + (minAlarm * 60);

    }

    return secAlarm;

}


var resultat = ((tempsRestant * 60) - (envoyerAudio(min, hr, sec)));


// Gestion des alarmes 

if (resultat == 3600) {

    audio.play();

}


if (resultat < 3600) {


    if (!!window.notifyProjectManager) {

        var params = [];

        var paramsKeys = ['user', 'temps', 'iduser', 'affichage', 'chargeProjet'];

        for (var i in paramsKeys) {

            var key = paramsKeys[i];

            params.push(key + '=' + getByNameValue(key));

        }


        get('notifyProjectManager.php?' + params.join('&'), function () {

            window.notifyProjectManager = true;

        });


        // Permet, lorsque flagAlert="true", d'envoyer un mail au chargé de projet

        document.getElementById("flagAlert").innerHTML = "true";

    }

} else {

    document.getElementById("flagAlert").innerHTML = "false";

}


// get request (working in all browsers)

function get(url, callback) {

    var xhr = new XMLHttpRequest();

    xhr.onreadystatechange = function () {

        if (xhr.readyState === 4) {

            if (xhr.status === 200) {

                callback(xhr.responseText);

            }

        }

    };

    xhr.open('GET', url);

    xhr.send(null);

}


function getByNameValue(name) {

    return encodeURIComponent(document.getElementsByName(name)[0].value);

}


if (resultat == 0) {

    audio.play();

}

if (resultat == -3000) {

    audio.play();

    alert("Arrêtez la tache en cours !!");

}


查看完整回答
反對 回復 2022-12-02
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

我看不到你的超時/間隔函數在哪里,所以我不能更具體......但基本上你可以在計時器到期時在該函數中設置一個標志,然后在相同或下一個勾號。

現在,如果您需要發送電子郵件。在 X 時間點,無論瀏覽器是否打開,您都可以在服務器上使用 Cron。


查看完整回答
反對 回復 2022-12-02
  • 2 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號