8796 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,

Je suis devant un problème qui dure depuis 3 jours et que je n'arrive pas du tout à régler.

J'envoie un email à plusieurs destinataires.

Cet email est identique à l'exception d'une phrase à la fin qui informe le destinataire qu'il peut se désinscrire de la newsletter.

Pour cela, je lui indique un lien + un ID qui lui est propre, en cliquant sur l'URL, il se désinscris.

Pour le premier destinataire de la table, aucun problème :

a écrit :
If you do not wish to receive further communications like this, please click here


Here contient l'adresse du site de désactivation et l'id personnel.

Pour le second utilisateur, j'obtiens ceci :

a écrit :
If you do not wish to receive further communications like this, please click here here


here avec l'adresse du lien + l'id du premier destinataire de la table et le second here avec l'url de désinscription et l'id du 2e destinataire.

C'est là que se pose le problème, j'aurais voulu qu'il reçoive leur propre id et non ceux des autres.

Si j'en ai trois, j'ai trois here...

Voici une partie de mon code :


	$sql_destinataires = "SELECT email_sha1, email FROM newsletter WHERE Envoi_OK = 1";
		//echo $sql_destinataires;
		$query_destinataires = mysql_query($sql_destinataires);
		$nb = mysql_num_rows($query_destinataires);
		$header.= "Bcc:";
		$melComplet = "";
		$i = 0;
		 
		while($dest = mysql_fetch_array($query_destinataires))
		{
			//je ne mets par la derniere virgule
			if($i<$nb-1) $melComplet['header'][$i]  = $dest['email'].',';
			else $melComplet['header'][$i]  = $dest['email'];
			
			$corpnewsletter.= '<a href="http://164.15.111.52:82/Congres/Confirmation_NL.php?id='.$dest['email_sha1'];
			$corpnewsletter.= "&amp;choix=Unsubscribe\"> here </a>";
			
			$melComplet['corpmessage'][$i] = $message.$lienDesabonnement.$dest['email_sha1'].$corpnewsletter;
			
			//echo $melComplet['corpmessage'][$i];
			//mail($mail,$sujet,$melComplet['corpsmessage'][$i],$melComplet['header'][$i]);
			$i++;
		}
				
		//envoi des messages à chaque personnes qui ont laisse leur adresse mail
		for($nbre=0; $nbre<$i;$nbre++)
		{
			mail($melComplet['header'][$nbre],$sujet,$melComplet['corpmessage'][$nbre],$header);
		}


Je vous remercie d'avance pour votre aide.

beegees
Salut,

ben à priori c'est un cas typique de variable non réinitialisée... dit autrement une utilisation de .= au lieu de =
Je ne comprends pas trop la façon de faire...

A ta place, voilà comment j'aurai fait :

-> Recherche dans la base de données des membres
-> Boucle while
--->Création du corps de texte
---> Création du lien contenant l'ID pour se désinscrire
---> Envoi du mail
-> fin de la bouche

Donc à chaque tour de boucle le mail est envoyé à l'utilisateur en cours avec le lien qui lui correspond.