IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi compte à rebours PHP avec PHPMailer


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut Envoi compte à rebours PHP avec PHPMailer
    Bonjour à tous,

    Je cherche un code qui me permetterais d'envoyer par email avec PHPMailer le temps restant suivant un compte à rebours. Est-il possible de faire cela ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu veux dire par exemple envoyé un mail dans 10min ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Non afficher le temps restant d'un challenge sur un email.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est quoi "un challenge sur un mail" ?

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    @sabotage : je pense que les mots ne sont pas dans l'ordre

    @roxia : tu veux envoyer par mail une information qui est quelque chose comme le nombre de jours restant avant une certaine date, c'est bien ça ? Genre "Aujourd'hui, mardi 2 juin, il vous reste 6 jours pour répondre à notre super Quizz".

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Oui c'est ça !

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Quel est le point qui te pose problème ?
    Tu as à calculer le nombre de jours restant entre la date actuelle et la date limite (que tu dois avoir quelque part en base ou ailleurs je suppose) Et ensuite tu construis ton message en mettant le résultat dedans et tu l'envoie en utilisant PHPMailer.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    En-fête pour aller plus dans le détail actuellement j'ai créer une tâche windows qui exécute une requête pour envoyer le chiffre d'affaire tous les jours à 8h00 je voudrais que tous les jours à 8h00 dans ce mail que cela affiche le temps qu'ils leurs restent avant la fin du challenge.

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    J'ai rien compris, mais bon j'improvise : tu as une tâche windows qui appelle un script PHP qui envoie un mail et tu voudrais que ce script mette des choses en plus dans ce mail ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    c'est une tâche windows avec le planificateur de tâche qui exécute une page PHP pour envoyer le mail moi je cherche simplement à rajouter un compteur à ce mail.

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ok, donc quel est le problème ? tu n'arrives pas à calculer le compteur ? ou tu n'arrives pas à l'ajouter au mail ?

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    je n'arrive pas à l'ajouter au mail

    voici le code de mon send mail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <?php
    require_once('PHPMailer/class.phpmailer.php');
    require_once('PHPMailer/class.smtp.php');
     
    // Connexion à la base SQL SAGE
    require('config/config.php');
     
    // Récupération de Foundation et CSS Perso
    require('header.html');
    require('footer.html');
     
    // Définition de la date en Francais
    $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
    $mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
    $datefr = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
     
     
    // Requete de récupération de la base SQL
    $query = "
    SELECT *,(SELECT SUM(Total) FROM dbo.Vue_ClassementRegroupe) AS toto,(SELECT SUM(ALARME) FROM dbo.Vue_ClassementRegroupe) AS TotalAla, (SELECT SUM(HUMAIN) FROM dbo.Vue_ClassementRegroupe) AS TotalHum
    FROM dbo.Vue_ClassementRegroupe
    WHERE CO_Nom NOT LIKE 'Divers'
    ORDER BY ALARME+HUMAIN DESC
    ";
     
    $result = odbc_exec($connection, $query) or die("<p>".odbc_errormsg($connection));
     
    // Variable de classement
    $s = 0;
     
    // Contenu du mail
    $mail = new PHPMailer;
    $mail-> charSet = "UTF-8";
    $mail->isSMTP();
    $mail->Host       = "smtp.domaine.fr";
    $mail->SMTPAuth = true;
    $mail->Username = 'email@domaine.fr';
    $mail->Password = '********';
    $mail->Port       = 25;
    $mail->From = 'email@domaine.fr';
    $mail->FromName = 'CA';
    $mail->addAddress('email2@domaine.fr','utilisateur');
    $mail->WordWrap = 50;
    $mail->isHTML(true);
    $mail->Subject = 'CA - '.date('d/m/Y');
    $mail->Body = '<html><body><br>';
    $mail->Body.= '</br>';
    $mail->Body.= '<h2 style="margin-top: -50px;text-align: center;font-family: MuseoSlab500Regular, arial, helvetica, sans-serif;font-weight: normal;">CLASSEMENT COMMERCIAL<p style="color:darkred;">'.$datefr.'</p></h2>';
    $mail->Body.= '<center>
    <table style="padding: 10px;"><th style="text-align: left;font-size: 20px;background-color: #000000;color: #ffffff;">Position</th><th style="text-align: center;font-size: 20px;background-color: #000000;">Nom</th><th style="text-align: center;font-size: 20px;background-color: #000000;color: #ffffff;">Total</th><body style="background-color: #FFEF01;"><th style="text-align: center;font-size: 20px;background-color: #000000;color: #ffffff;">Alarme</th><th style="text-align: center;font-size: 20px;background-color: #000000;color: #ffffff;">Humain</th>';
    // Boucle de contenu du mail
    while ($data = odbc_fetch_array($result)) {
        $mail->attachmentExists($TotalAlarme = $data['TotalAla']);
        $mail->attachmentExists($TotalHumain = $data['TotalHum']);
        $mail->attachmentExists($TotalGeneral = $data['toto']);
        $mail->Body.= '<tr><td style="background-color: #000000;color: #ffffff;font-size: 20px;text-align: center;font-weight: bold;"><p>'.++$s.'</p></td>';
        $mail->Body .= '<td style="background-color: #ffffff;font-weight:bold;font-family: Times New Roman, sans-serif;">' . $data['CO_Nom'] . '</td>';
        $mail->Body .= '<td style="background-color: #ffffff;text-align: center;color:darkred;font-family: Arial, Helvetica, sans-serif;font-weight: bold;">' . number_format($data['ALARME'] + $data['HUMAIN'], 0, ',', ' ') . ' €' . '</td>';
        $mail->Body .= '<td style="background-color: #ffffff;text-align: center;color:red;font-family: Arial, Helvetica, sans-serif;">' . number_format($data['ALARME'], 0, ',', ' ') . ' €' . '</td>';
        $mail->Body .= '<td style="background-color: #ffffff;text-align: center;color:red;font-family: Arial, Helvetica, sans-serif;">' . number_format($data['HUMAIN'], 0, ',', ' ') . ' €' . '</td></tr>';
    }
    $mail->Body .= '</table>';
    $mail->Body .= '</br>';
    $mail->Body .= '<center><table style="padding: 10px;"><th style="text-align: left;font-size: 20px;background-color: #000000;color: #ffffff;width: 300px;text-align: center;">Total Alarme</th><th style="text-align: left;font-size: 20px;background-color: #000000;color: #ffffff;width: 300px;text-align: center;">Total Humain</th><th style="text-align: left;font-size: 20px;background-color: #000000;color: #ffffff;width: 300px;text-align: center;">Total Alarme + Humain</th>';
    $mail->Body .= '<tr><td style="color: white;background-color: red;font-family: Arial, Helvetica, sans-serif;font-size: 30px;font-weight: bold;width: 150px;height: 50px;text-align: center;">'.number_format($TotalAlarme, 0, ',', ' ').' €' . '</td>';
    $mail->Body .= '<td style="color: white;background-color: red;font-family: Arial, Helvetica, sans-serif;font-size: 30px;font-weight: bold;width: 150px;height: 50px;text-align: center;">'.number_format($TotalHumain, 0, ',', ' ').' €' . '</td>';
    $mail->Body.= '<td style="color: white;background-color: red;font-family: Arial, Helvetica, sans-serif;font-size: 30px;font-weight: bold;width: 150px;height: 50px;text-align: center;">'.number_format($TotalGeneral, 0, ',', ' ').' €' . '</td>';
    $mail->Body .= '</tr></table>';
    $mail->Body .= '<p>Ce courriel vous est envoyé automatiquement, merci de ne pas utiliser la fonction "Répondre".</p>';
    $mail->Body.= '</body></html></center>';
     
     
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
     
    // Condition si le mail à été envoyé ou pas
    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
        exit;
    }
     
    echo 'Message has been sent';
     
    // Retour à la page d'accueil automatiquement lorsque le mail à été envoyé
    header("Location: index.php");

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    une idée comment je pourrait ajouter ce compteur au mail ? J'ai essayer des choses mais qui ne sont pas concluante.

  14. #14
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ben tu ajoutes le calcul du compteur juste après la requête de récupération que tu as déjà et ensuite tu incorpores le résultat dans $mail->Body.
    Peut-être que tu devrais nous montrer une tentative qu'on essaye de voir ce qui coince.

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    j'ai trouver un compte à rebours php mais il me calcul pas le bon resultat je devrais trouver 117 jours avant la fin du challenge (30 sept 2015) il m'affiche 208....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
    $annee = date('Y');
    $challenge = mktime(8, 0, 0, 09, 30, $annee);
     
     if ($challenge< time())
     $challenge= mktime(8, 0, 0, 09, 30, ++$annee);
     
     $tps_restant = $challenge- time();
     
    //============ CONVERSIONS
     
    $i_restantes = $tps_restant / 60;
    $H_restantes = $i_restantes / 60;
    $d_restants = $H_restantes / 24;
     
     
    $s_restantes = floor($tps_restant % 60); // Secondes restantes
    $i_restantes = floor($i_restantes % 60); // Minutes restantes
    $H_restantes = floor($H_restantes % 24); // Heures restantes
    $d_restants = floor($d_restants); // Jours restants
    //==================
     
    setlocale(LC_ALL, 'fr_FR');
     
    echo 'Nous sommes le '. strftime('<strong>%d %B %Y</strong>, et il est <strong>%Hh%M</strong>') .'.<br />'
     
       . 'Il reste exactement <strong>'. $d_restants .' jours</strong>, <strong>'. $H_restantes .' heures</strong>,'
       . ' <strong>'. $i_restantes .' minutes</strong> et <strong>'. $s_restantes .'s</strong> avant d\'ouvrir les cadeaux <:o).';
     
    ?>

  16. #16
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ouh la !
    Si ton serveur est en PHP 5.3+, utilise date_diff ça va grandement ta faciliter l'existence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $dateLimit = new DateTime('2015-09-30');
    $dateNow = new DateTime();
     
    $interval = $dateNow->diff($dateLimit);
     
    echo $interval->format("Il reste %a jours");

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Parfait ça marche, merci bcp bcp !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/05/2012, 12h02
  2. [XL-2003] Effectuer un compte à rebours simultanément avec une autre macro?
    Par mustapha.ezzaouia dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/12/2009, 15h00
  3. Script "compte à rebours" dynamique avec images
    Par link.80 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/10/2009, 19h55
  4. [AJAX] Compte à rebours PHP Javascript ajax
    Par syl2042 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/08/2007, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo