par
ThomasPph » 20 déc. 2021, 18:19
J'ai cherché toute l'aprem une solution j'ai mutiplié les essaie, ce que j'ai fait c'est décomposer mon code pour savoir ce que j'arrivais à faire ou non.
Dans un premier temps l'envoie des articles a une seul adresse
Code : Tout sélectionner
<?php
$page = 'communication';
include("header.php");
// Update des articles vers le menu
if(isset($_POST['delete'])) {
foreach ($_POST['delete'] as $id) {
$stmt = $mysqlClient->prepare("UPDATE `articles` SET valide = 3 WHERE idArticle = '".$id."'");
$stmt->bindValue(':id', $id);
$stmt->execute();
$stmt = $mysqlClient->prepare("SELECT titre, contenu, auteur, objet FROM articles WHERE idArticle = '".$id."'");
$stmt->bindValue(':id', $id);
$stmt->execute();
foreach($stmt as $r){
$message .= "Titre : " . $r['titre']; //prend titre de la table
$message .= "\n\nRésumé : " . $r['objet']; //prend l'objet de la table
$message .= "\n\n".$r['contenu']; //prend contenu de la table
$message .= "\n\nÉcrit par : ".$r['auteur']."\n\n\n\n"; //prend auteur de la table
}
}
mail("monEmail","Article du mois",$message,"Merci");
}
?>
Cette fonctionnalité est bonne.
Dans un second temps un envoie de mail bidon a mes adresses mail..
C'est ici que provient mon problème.
Si je met ça :
Code : Tout sélectionner
<?php
$page = 'communication';
include("header.php");
// Update des articles vers le menu
if(isset($_POST['delete'])) {
foreach ($_POST['delete'] as $id) {
$stmt = $mysqlClient->prepare("UPDATE `articles` SET valide = 3 WHERE idArticle = '".$id."'");
$stmt->bindValue(':id', $id);
$stmt->execute();
// Envoie de mail aux différentes adresse
$smtp = $mysqlClient->prepare("SELECT email FROM profil");
$smtp->execute();
foreach($smtp as $a){
$tab_email = $a['email']; //prend l'email de la table
}
}
mail($tab_email,"Article du mois","Bonjour");
}
?>
Je ne reçoit un mail avec le message qu'a une seul de mes adresse mail présente dans la bdd, pour recevoir le mail pour tout le monde il sufi que je mette la ligne mail dans la boucle mais je sais pas si c'est ce qu'il faut que je fasse.
Et ensuite d'essayer de relier les deux bout de code en un.
Si vous avez des idées de comment je peux procéder je vous remercie pour vos réponses.
J'ai cherché toute l'aprem une solution j'ai mutiplié les essaie, ce que j'ai fait c'est décomposer mon code pour savoir ce que j'arrivais à faire ou non.
Dans un premier temps l'envoie des articles a une seul adresse [code]<?php
$page = 'communication';
include("header.php");
// Update des articles vers le menu
if(isset($_POST['delete'])) {
foreach ($_POST['delete'] as $id) {
$stmt = $mysqlClient->prepare("UPDATE `articles` SET valide = 3 WHERE idArticle = '".$id."'");
$stmt->bindValue(':id', $id);
$stmt->execute();
$stmt = $mysqlClient->prepare("SELECT titre, contenu, auteur, objet FROM articles WHERE idArticle = '".$id."'");
$stmt->bindValue(':id', $id);
$stmt->execute();
foreach($stmt as $r){
$message .= "Titre : " . $r['titre']; //prend titre de la table
$message .= "\n\nRésumé : " . $r['objet']; //prend l'objet de la table
$message .= "\n\n".$r['contenu']; //prend contenu de la table
$message .= "\n\nÉcrit par : ".$r['auteur']."\n\n\n\n"; //prend auteur de la table
}
}
mail("monEmail","Article du mois",$message,"Merci");
}
?>[/code]
Cette fonctionnalité est bonne.
Dans un second temps un envoie de mail bidon a mes adresses mail..
C'est ici que provient mon problème.
Si je met ça :
[code]<?php
$page = 'communication';
include("header.php");
// Update des articles vers le menu
if(isset($_POST['delete'])) {
foreach ($_POST['delete'] as $id) {
$stmt = $mysqlClient->prepare("UPDATE `articles` SET valide = 3 WHERE idArticle = '".$id."'");
$stmt->bindValue(':id', $id);
$stmt->execute();
// Envoie de mail aux différentes adresse
$smtp = $mysqlClient->prepare("SELECT email FROM profil");
$smtp->execute();
foreach($smtp as $a){
$tab_email = $a['email']; //prend l'email de la table
}
}
mail($tab_email,"Article du mois","Bonjour");
}
?>
[/code]
Je ne reçoit un mail avec le message qu'a une seul de mes adresse mail présente dans la bdd, pour recevoir le mail pour tout le monde il sufi que je mette la ligne mail dans la boucle mais je sais pas si c'est ce qu'il faut que je fasse.
Et ensuite d'essayer de relier les deux bout de code en un.
Si vous avez des idées de comment je peux procéder je vous remercie pour vos réponses.