email() ... test pour confimation

email() ... test pour confimation - PHP - Programmation

Marsh Posté le 30-01-2004 à 13:38:55    

voila.. j'envoie un mail... sans probleme... mais j'aimerai un message qui confirme que le mail a bien été envoyé.. avec des if ça marche... mais il m'envoie 3 fois le mail !! ça fait beaucoup !! j'ai du me planter quelquepart :
 

Code :
  1. if ($submit6)
  2.  {
  3.  $email2=$_POST['email2'];
  4.  $_SESSION['email2']=$_POST['email2'];
  5.  $headers="Content-Type:text/html;charset=iso-8859-1\n";
  6.  $headers.="Content-Transfert-Encoding: 8bit \n";
  7.  $from="Clonecopy";
  8.  $to=$email2;
  9.  $sujet="CLONECOPY.NET : Votre devis n°: $devisnum";
  10.  include ('result.php');
  11.  $replyto="Clonecopy";
  12.  email($from, $to, $sujet , $message, $replyto, $headers);
  13.  if (email($from, $to, $sujet , $message, $replyto, $headers))
  14.  {
  15.  AfficheMessage("Votre devis vous a été envoyé à $email2, Merci !" );
  16.  }
  17.  if (!email($from, $to, $sujet , $message, $replyto, $headers))
  18.  {
  19.  AfficheMessage("Erreur lors de l'envoie du mail" );
  20.  }
  21.  }


 
je suppose que c parceque ma fonction email apparait 3 fois !!! mais je savais pas que ça s'executait dans un if ! ... comment on fait un test sur une fonction ?
 
merci
 
Freed

Reply

Marsh Posté le 30-01-2004 à 13:38:55   

Reply

Marsh Posté le 30-01-2004 à 13:41:47    

3 fois la fonction mail => 3 appels à la fonction mail => 3 mails envoyés
 
Tu n'as besoin que d'un seul test (avec une clause else dans ton if), donc le code peut se résumer à ceci
 

Code :
  1. if ($submit6)
  2.     {
  3.       $email2=$_POST['email2'];
  4.      
  5.      
  6.       $_SESSION['email2']=$_POST['email2'];
  7.      
  8.       $headers="Content-Type:text/html;charset=iso-8859-1\n";
  9.       $headers.="Content-Transfert-Encoding: 8bit \n";
  10.       $from="Clonecopy";
  11.       $to=$email2;
  12.       $sujet="CLONECOPY.NET : Votre devis n°: $devisnum";
  13.       include ('result.php');
  14.       $replyto="Clonecopy";
  15.    
  16.       if (email($from, $to, $sujet , $message, $replyto, $headers))
  17.       {
  18.         AfficheMessage("Votre devis vous a été envoyé à $email2, Merci !" );
  19.       }
  20.       else
  21.       {
  22.         AfficheMessage("Erreur lors de l'envoie du mail" );
  23.       }
  24.     }


Message édité par KrisCool le 30-01-2004 à 13:43:06

---------------
Loose Change Lies | Bars | Last.fm
Reply

Marsh Posté le 30-01-2004 à 13:43:58    

tres bonne idée !! j'y avais pas pensé !! lol !
 
Merci beaucoup ! ;)

Reply

Marsh Posté le 30-01-2004 à 17:31:57    

Ou alors tu stockes une fois pour toute le résultat de la fonction email et tu fais tes tests sur la valeurs de cette variable.

Reply

Marsh Posté le 31-01-2004 à 09:25:07    

ratibus a écrit :

Ou alors tu stockes une fois pour toute le résultat de la fonction email et tu fais tes tests sur la valeurs de cette variable.


 
yep je fais comme ça maintenant (après m'être envoyé 2700 mails suite à une fonction 'mail' mal placée dans ma boucle :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed