begin process at 2012 05 31 12:54:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Probleme envoi mail une seul fois


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme envoi mail une seul fois

jeudi 26 mars 2009 à 16:17:02 | Probleme envoi mail une seul fois

krustypop

Bonjour à tous!

voilà j'ai fait un bout de code qui a pour fonction de controler des seuils et de m'envoyer un mail si ces seuils limites sont atteints. Mon problème est le suivant, à chaque rafraichissement de page il m'envoi un mail, or je voudrais qu'il ne m'en envoi qu'un seul. Mon début d'idée est la suivante, je voudrais mettre le contenu de ma requete sql qui me permet d'avoir mes seuils atteints, dans un variable, de la sauvegarder et de comparer à chaque modification si le contenu est le même.
S'il est le même on envoi pas de mail mais s'il est différent la il m'envoi un mail et un seul. Voici mon bout de code pour vous illustrer tout ca :

$reqseuil= mysql_query("SELECT * FROM printers WHERE nbr <= 1;"); // nbr étant la quantitié dispo
$nbrep= mysql_num_rows($reqseuil);
$commandefaite=false;

while($ligne=mysql_fetch_array($reqseuil))
{
        $contenu .= $ligne[1].' '.$ligne[2].' '.$ligne[3].' '.$ligne[4].' '.$ligne[5].' '.$ligne[6].' '.$ligne[7]."\n";   
}
echo $contenu;
////////////
c'est icic que je bug !
//////////
    if(($nbrep==4)&&($strcompar<>0)
    {               
        ini_set("SMTP","smtp.monsmtp.fr");
        ini_set("sendmail_from","adresse@destintaire.com");
        $to = 'mon.adresse.mail@domaine.com';
        $subject = 'A Commander';
        $msg = "Voici les consommables à commander :\r\n".$contenu1;
        mail($to, $subject, $msg);
        $commandefaire=true;
        echo 'ENVOI OK' ;
    }

Voila si quelqu un pourrai m'aider svp ca serait super gentil !!MERCI d'AVANCE
vendredi 27 mars 2009 à 08:12:50 | Re : Probleme envoi mail une seul fois

kohntark

Membre Club
Salut Krustypop,

Comment est définie $strcompar ?
En supposant que chaque ligne de printers est un consommable d'imprimante, pourquoi attends tu qu'il y ait 4 produits en rupture ?

Pourquoi ne fais tu pas plutôt comme ça :
Tu ajoutes un champ "alert" dans ta table printers :
1 => un email à déjà été envoyé
0 => pas d'email déjà envoyé

Puis dans ton script :
$up = mysql_query("UPDATE printers SET alert=0 WHERE nbr > 1");

$reqseuil = mysql_query("SELECT * FROM printers WHERE nbr <= 1 AND alert=0"); // nbr étant la quantitié dispo

il y a des résultats
  => envoi mail
  => update : alert=1 pour la ligne en cours


Cordialement,


Kohntark -

vendredi 27 mars 2009 à 10:14:07 | Re : Probleme envoi mail une seul fois

krustypop

Salut et merci de ta réponse !

je vais testé ça et je te riens au courant!

Un grand merci!
vendredi 27 mars 2009 à 10:27:22 | Re : Probleme envoi mail une seul fois

krustypop

Ah et pour le 4 en fait, c'est simplement pour faire une commande regroupé des consommables,car on ne fait pas de commande pour 1 seul conso qui viendrait à manquer.

Cordialement
vendredi 27 mars 2009 à 11:58:18 | Re : Probleme envoi mail une seul fois

krustypop

Alors j'ai avancé un peu, mais la je bloque sur l'update pour alert=1 de l'élément courant.
J'ai pensé faire un foreach mais au niveau de la syntaxe, je ne vois pas trop comment faire. Ou peut y a-t-il une solution plus simple à implémenter dans mon code qui est devenu celui-ci:

$upalert = mysql_query("UPDATE printers SET alert=0 WHERE nbr > 1");
$reqseuil= mysql_query("SELECT * FROM printers WHERE nbr <= 1 AND alert=0;");
$nbrep= mysql_num_rows($reqseuil);
$contenu="";

while($ligne=mysql_fetch_array($reqseuil))
{
        $contenu .= $ligne[1].' '.$ligne[2].' '.$ligne[3].' '.$ligne[4].' '.$ligne[5].' '.$ligne[6].' '.$ligne[7]."\n";   
}

    if($nbrep==4)
    {               
        ini_set("SMTP","smtp.monstmp.fr");
        ini_set("sendmail_from","uneadressemail@domaine.com");
        $to = 'monadressemail@domaine.com';
        $subject = 'A Commander';
        $msg = "*********************************************************************************\r\n";
        $msg.= "Voici les consommables a commander :\r\n";
        $msg.= "*********************************************************************************\r\n\n";
        $msg.= $contenu;
        mail($to, $subject, $msg);
       //Peut etre ici un foreach
       // puis ici un update mettant alert=1 pour l'élément courant
        echo '<script type="text/javascript">alert("La limite a été atteinte, un mail avec les références à commander a été envoyé!");</script>';
    }

Voila si tu as une solution kohntark, ou quelqu un d'autres, je suis preneur! Merci d'avance


Cette discussion est classée dans : mail, ligne, envoi, contenu, seuils


Répondre à ce message

Sujets en rapport avec ce message

Saut de ligne dans la mise en forme d'envoi d'un mail avec la fonction mail. [ par bakalai ] Bonjour, J'ai un problème dans la mise en forme lors de la réception d'un mail en voyer via un formulaire.</s afficher le contenu d'un fichier .txt ligne par ligne [ par Sniark ] Bonjour à tous,Je cherche à lire afficher le contenu d'un fichier .txt ligne par ligne. J'ai cherché sur google, mais n'ai rien trouvé en PHP. Pourtan envoi de mail [ par rudybiss ] Bonjour, Je développe un site en php et je dois utiliser la fonction mail() pour l'envoi des emails (confirmation de creation, modification de mot de détecter fin de ligne dans une chaine de caractères [ par zut69 ] Bonjour,J'ai une chaine de caractères sous cette forme là:"058493748903048493056847264982736491..."C'est toujours x chiffres par ligne ou x est un mul Envoi automatique de mail [ par arkonara ] Bonjour a tous, deja je vous avertis que je débute en php... Voici mon problème: J'ai créer une application pour la gestion des incidents au sein d PB formulaire inclus dans un e-mail [ par htaine ] Hello tout le monde, peut-être quelqu'un pourras être charitable pour me sauver...Voici la problématique:Je souhaite envoyer un e-mail de promotion, q Envoi d'une page HTML à un 'ami' [ par luxojr ] Bonjour à tous et à toutes,Voilà le problème, je souhaite mettre en place la fonction suivante :Envoyer la page courante sur laquelle je me trouve via envoi d'un email [ par dalitch ] bonjour, j'ai une table avec un champ appelé new_value. Ce champ contient les nouveaux insertions; Mon problem c'est que je veux envoyer les nouveaux Envoie d' email bloqué. [ par marcantoine93 ] Bonjour à tous (J'avais envoyé un premier post vide, j'espère afficher le contenu du message cette fois-ci),En ce moment je suis en train de tester un Envoi Mail sélection Multiple [ par angeldu74 ] Bonjour,Alors j'ai un menu déroulant que j'alimente avec toutes les années qui se trouvent dans ma base.ex 2007, 2008, 2009Mon but est d'envoyer un ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales