Article publié le mardi 27 novembre 2007 par elizabeth.
Cet article est classé dans les catégories « PHP »
Ce code permet de lister les statuts sous lesquels sont inscrits les internautes, et de proposer cette liste avec des cases à cocher afin d'envoyer la newsletter uniquement aux membres inscrits sous les statuts que nous avons cochés.
j'ai été bien aidée sur le forum, alors ça me parraît normal aujourd'hui de vous faire profiter de mon code qui fonctionne grâce aux membre de ce site...
<? $id=$_GET['id']; ?>
<form name="form1" method="post" action="envoi.php">
<p> Envoyer la lettre uniquement aux statuts séléctionnés :<br>
<br>
<input name="statut[]" type="checkbox" id="statut[]" value="professionnels">
professionnels <br>
<input name="statut[]" type="checkbox" id="statut[]" value="particuliers">
particuliers
<br>
<input name="statut[]" type="checkbox" id="statut[]" value="envoi test">
envoi test<br>
<p align="center">
<input name="id" type="hidden" value="<? echo $id ?>">
<input type="submit" name="Submit" value="envoyer selon ce tri">
</p>
</form>
<?php
$id=$_POST['id'];
mysql_select_db($database_base, $base);
$query_news = sprintf("SELECT * FROM newsletter WHERE id = '$id'");
$news = mysql_query($query_news, $base) or die(mysql_error());
$row_news = mysql_fetch_assoc($news);
$totalRows_news = mysql_num_rows($news);
?>
$sujet=$row_news['sujet'];
$message=$row_news['texte'];
//**************** recup lettre avec les caractères spéciaux
$sujet=stripslashes($sujet);
$message=stripslashes($message);
htmlentities("$message");
<?php
foreach ($_POST['statut'] as $_POST['choix'])
{
echo "",$_POST['choix'],"<br>";
}
?> </span>
<?
$statut = '';
// on place les valeurs dans un tableau pour plus de sécurité (risque d'injection de code)
$var = array('professionnels','particuliers','envoi test');
foreach ($_POST['statut'] as $k=>$value) {
if(in_array($value,$var)){
if(!empty($statut)){
$statut .= " OR statut='$value'";
}
else{
$statut .= "statut='$value'";
}
}
}
//pour vérifier : echo "<br />".$statut;
?>
mysql_select_db($database_base $base);
$query_emailing = "SELECT DISTINCT mail, statut FROM membres WHERE $statut;
$emailing = mysql_query($query_emailing, $base) or die(mysql_error());
while($rang=mysql_fetch_array($emailing)){
$destinataire=$rang['mail'];
$From = "From:contact@petite-fee.fr\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";
$mail_OK= mail($destinataire, $sujet, $message, $From);
}
// pour vérifier : echo $destinataire;
?>
<?php
mysql_free_result($emailing);
?>
Commentaire publié le lundi 17 décembre 2007 - 14h32 par pchlj
Commentaire publié le dimanche 23 décembre 2007 - 10h34 par elizabeth Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.
Discutez et échangez sur ce thème dans notre forum PHP - SQL.
06/02/2012 - 18h41
supprimer des dossiers sur ftp après un hack (0 réponse)
03/02/2012 - 12h35
injection mysql au secours ! (5 réponses)
01/02/2012 - 20h40
Url rewriting et sous-domaines (11 réponses)
31/01/2012 - 13h33
Plusieurs bouton d'action dans un form (1 réponse)
24/01/2012 - 15h54
Base de donnée sql avec une page php (17 réponses)