Rechercher : dans
Par :

Formulaire d'envoi mail groupé et trier

Dernière réponse le 17 sep 2009 à 20:03:15 kopax, le 28 mai 2007 à 19:35:09 
 Signaler ce message aux modérateurs

Bonjours a tous, je vois que le forum est tres actif et beaucoup prenne la peine de repondre ici donc j'ai prit la peine moi aussi de m'inscrire en esperant trouvé de l'aide.

J'ai une newsletter sur mon site qui peut etre envoyé à sois la categorie d'utilisateur 1, 2, 3, out tous.

Seulement mon script envois a tout les mails relevé dans la base de donnée.
Il commence par envoyé a la categorie 1, puis la categorie 2, puis la categorie 3, puis au reste.

Si quelqu'un pourrai corriger mon erreur,

Cordialement,

Dimitri

if (isset($_POST['cat']) == "1")
{
$req=mysql_query("SELECT email,cat FROM v1_roster WHERE cat=1"); 
$res=mysql_numrows($req);
echo "Envoi groupé à la section Counter-Strike<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
echo "Envoyé à  $email - ";
$i++;
} 
}
elseif (isset($_POST['cat']) == "2")
{
$req=mysql_query("SELECT email,cat FROM v1_roster WHERE cat=2"); 
$res=mysql_numrows($req);
echo "Envoi groupé à la section Staff<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
$i++;
echo "Envoyé à $email - ";
} 
}
elseif (isset($_POST['cat']) == "3")
{
$req=mysql_query("SELECT email,cat FROM v1_roster WHERE cat=3"); 
$res=mysql_numrows($req);
echo "Envoi groupé à la section Counter-Strike Source<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
$i++;
echo "Envoyé à $email - ";
} 
}
else
{
$req=mysql_query("SELECT email FROM v1_roster"); 
$res=mysql_numrows($req);
echo "Envoi groupé à toute les sections<br>";
$i=0;
while($i!=$res) { 
$email=mysql_result($req,$i,"email");

mail($email,$sujet,$message,$headers);
$i++;
echo "Envoyé à $email - ";
} 
}
Configuration: Windows XP
Firefox 2.0.0.3

Meilleures réponses pour « Formulaire d'envoi mail groupé et trier » dans :
[Outlook/ThunderBird/Incredimail] Envoi/Réception de mail VoirVous avez des problèmes d'envoi ou de réception de mail dans votre client de messagerie ? Cet article va vous aider à diagnostiquer le problème. 1. Introduction à la messagerie 2. Problèmes d'envoi de mail 3. Problèmes de réception de...
[Langages] Envoyer un mail avec pièce jointe VoirLes mails, tout comme les pages web, sont livrés avec des en-têtes (headers en anglais). Ces en-têtes servent à donner quelques détails nécessaires comme l'adresse du destinataire, celle de l'envoyeur, la date de l'envoi, le sujet du mail etc. Elles...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

Irresistibledemon, le 25 jan 2008 à 13:13:55

Coucou, voici le code que tu peux utiliser :

if(isset($_POST['cat'])
{
	if($_POST['cat'] == "1")
	{
		$sql = "SELECT email,cat FROM v1_roster WHERE cat=1"; 
		echo "Envoi groupé à la section Counter-Strike<br>";
	}
	elseif($_POST['cat'] == "2")
	{
		$sql = "SELECT email,cat FROM v1_roster WHERE cat=2"; 
		echo "Envoi groupé à la section Staff<br>";
	}
	elseif($_POST['cat'] == "3")
	{
		$sql = "SELECT email,cat FROM v1_roster WHERE cat=3"; 
		echo "Envoi groupé à la section Counter-Strike Source<br>";
	}
}
else $sql = "SELECT email FROM v1_roster";

$req=mysql_query($sql);
$res=mysql_numrows($req);
$i=0;
while($i!=$res) { 
	$email=mysql_result($req,$i,"email");
	mail($email,$sujet,$message,$headers);
	$i++;
	echo "Envoyé à ".$email." - ";
} 


La fonction isset(...) renvoie une information booléenne (true ou false)

Répondre à Irresistibledemon

2

 djimson, le 17 sep 2009 à 20:03:15

Salut, j'ai essayé ce formulaire mais il m'envoie le même message 15 fois et à une seule adresse. Il n'envoie pas aux autres adresses.
Quelqu'un pourrai bien m'expliquer?

<?php 
$option= $_POST['option'];
 /*  Connexion au serveur  */
 
include("connexion.php"); 
mysql_query ("INSERT INTO emplois VALUES
('','$option')");
	
		$sql = ("Select `Adresse_Email`,`option` FROM Comptes_Utilisateurs c , emplois e WHERE c.`secteur`='". $_POST['option'] ."'; "); 
		echo "Envoi groupé <br>";
	
$req=mysql_query($sql);
$res=mysql_numrows($req);
$i=0;

$sujet = "Offre interessante";
                              
   $message = "Cette offre vs interesse :\n";
while($i!=$res) 
{ 
	$email=mysql_result($req,$i,"Adresse_Email");
	
   	mail($email,$sujet,$message);
	
	echo "Envoyé à ".$email." - "
	$i++;;
} 

TOUTAOUAGA, votre premier portail de publicité en en ligne au Burkina Faso

Répondre à djimson