Problème PHP et boucle...

Problème PHP et boucle... - Programmation

Marsh Posté le 05-02-2002 à 16:30:25    

Bon voici ma fonction avec laquelle j ai un petit problème
 
-----------------------------------------------------------------
  if ($exp_nom=='' || $exp_mail=='' || $dest_mail=='';)
 {
  print "Formulaire incomplet.";
 }
 else
 {
  $tab = explode(',', $dest_mail);
  for ($i=0; $i<count($tab); $i++)
  {
   if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a
-z{|}~]+'.'@'.'[-!#$%&\&
#039;*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'
[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$
9;,$tab[$i]))
   {
    /* destinataire */
    $destinataire .= "$tab[$i]";
 
    /* sujet */
    $objet.= "Message de $exp_nom";
 
    /* message */
    $message.= "<font face=Verdana size=2>Bonjour,<br><br>";
    $message.= "Votre ami(e) $exp_nom vous a fait parvenir ce message :<br><br>";
    $message.= "Si tu souhaites suivre l'actualité DVD, tout savoir sur le dézonage, et participer à un forum vraiment sympa, je te conseille de visiter le site <b><a href=\"http://www.dvd-area.com\">DVD-AREA</a></b>.<br><br>";
    $message.= "Amicalement,<br>";
    $message.= "$exp_nom</font>";
 
    /* option */
    $entete.= "From: $exp_mail\n";
    $entete.= "X-Mailer: PHP\n";
    $entete.= "Content-Type: text/html; charset=iso-8859-1\n";
 
    mail($destinataire, $objet, $message, $entete);
   }
   else
   {
    print "L'adresse E-mail d'un ou plusieurs destinataires est invalide.";
   }
  }
 }
-----------------------------------------------------------------
 
En fait cette fonction decoupe un champs ou la personne a inscrit plusieurs email (via la fonction explode) et ensuite une boucle For est lancée pour verifié chaque email et envoyer le message. Le problème c est que le message est uniquement envoyé au premier mail de la string (Exemple : la personne tape "toto@no.fr,coco@papa.com" ben seul toto@no.fr recevra le mail alors que le second est correcte... Bref je bloque dessus et j arrive pas à voir ma faute... si kelkun pouvait m eclairer merci d avance...

Reply

Marsh Posté le 05-02-2002 à 16:30:25   

Reply

Marsh Posté le 05-02-2002 à 17:30:38    

personne ?

Reply

Marsh Posté le 05-02-2002 à 17:50:54    

Tu traces pas à pas pour voir ou cela merde (affiche tes variables, t'es sûr de la Regexp ???

Reply

Marsh Posté le 05-02-2002 à 17:59:55    

a vrai dire j ai tout tracer j ai fais des echo sur toutes les variable pour voir si ca passait bien et tout s affichaient sans probleme pour la regexp je suis aussi sur je l ai testé a part...

Reply

Marsh Posté le 06-02-2002 à 10:17:20    

up du matin

Reply

Marsh Posté le 06-02-2002 à 10:22:55    

Oreste a écrit a écrit :

up du matin  




chagrin...


---------------
"Si ça peut déconner, ça va déconner..."
Reply

Marsh Posté le 06-02-2002 à 10:23:05    

tit question est tu sur qu'il parcours deux fois la boucle ???
 
Sinon cela peut provenir du mail qui est engorgé ( bah je dis ca comme ca )


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 06-02-2002 à 10:26:49    

Oui je suis sur qu elle est parcouru deux fois car j ai tracer en mettant echo "$tab[$i]<br>"; dans la boucle et il me sors bien les deux email donc il parcour correctement la boucle suivant le nombre d element de mon tablo... sinon effectivement je teste en local en utilisant le smtp de mon boulot donc c est possible que ca vienne de la je vais tester en direct sur mon serveur de production on verra bien... merci pour vos infos :)

Reply

Marsh Posté le 06-02-2002 à 10:29:35    

bon ben teste effectué sur le serveur de production (avec sendmail) et ca passe pas...

Reply

Marsh Posté le 06-02-2002 à 10:48:03    

Oreste a écrit a écrit :

Oui je suis sur qu elle est parcouru deux fois car j ai tracer en mettant echo "$tab[$i]<br>"; dans la boucle et il me sors bien les deux email donc il parcour correctement la boucle suivant le nombre d element de mon tablo... sinon effectivement je teste en local en utilisant le smtp de mon boulot donc c est possible que ca vienne de la je vais tester en direct sur mon serveur de production on verra bien... merci pour vos infos :)  




 
T'aurais pas un ou des espaces devant les emails contenus dans $tab[$i] ??? -> Ce qui ferait echouer la reconnaissance de ta Regexp, -> enlève le ^ de début de chaîne pour voir...

Reply

Marsh Posté le 06-02-2002 à 10:48:03   

Reply

Marsh Posté le 06-02-2002 à 11:00:22    

Bon ben j ai trouvé, visiblement c est cette partie qui merdait -->
 
$destinataire .= "$tab[$i]";  
 
des que j ai mis $tab[$i] directement dans mail ca marche nikel bref comme quoi on peut rester bloquer sur un truc con pendant pas mal de tps...
 
Merci Flt LM de ton aide

Reply

Sujets relatifs:

Leave a Replay

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