[RESOLU] Problème Boucle + Mail

Petit nouveau ! | 2 Messages

19 avr. 2013, 17:04

Salut à tous,

Je viens vers vous car ça va fa bientôt faire 2h que je suis sur ce problème et que ça me rend vraiment fou.

Je vous explique, en gros je souhaite envoyer un mail quand une condition est respectée dans une boucle, à première vue c'est très simple.

Mais malheureusement je ne comprends pas ce qu'il se passe ...

Que ce soit une boucle FOR, WHILE ou encore FOREACH, le mail s'envoie autant de fois que de nombre de passages.

Je vous donne un exemple très bête :

$j=0;
while ($j < 5 ) {
	if($j==3) {
		echo '1';
		mail('[email protected]', 'test while3', 'tst');
	}
	$j++;
}
Evidemment, ça me renvoie "1", mais le mail part autant de fois que de passages dans la boucle.

J'ai même collé un "break" après la fonction mail(), ça ne change rien !!

Je me tourne donc vers vous pour savoir si vous avez une idée d'où peut provenir le problème ??

Pour info je suis sur un install Wordpress et je n'ai jamais eu ce problème auparavant !!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 avr. 2013, 14:48

salut,


le code ce limite à ces quelques ligne ?

parce que la il n'y a pas de raison.

ajoute l'index dans le titre du mail (ou le corps) pour voir ce que ça donne.

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

03 mai 2013, 20:21

Salut moogli,

Merci pour ta réponse mais mon problème s'est résolu depuis !

En fait je bossais avec Wordpress, et j'avais mis ce code dans le fichier functions.php.

Il y a du y avoir un bugg, car au début avant de tester dans ce fichier j'avais créé dans un autre fichier une fonction qui appelait un hook pour le cron de Wordpress.

Mais j'ai vu plus tard que c'était appelé plusieurs fois, et que donc le hook s'exécutait plusieurs fois d'où le nombre de mails.

Du coup j'ai supprimé les "appels" superflus, et ça s'est corrigé.

Merci quand même pour ta réponse :) !