Vous n'êtes pas identifié(e).
Bonjour
Tout est dans le titre...
Comment faire pour envoyer un mail à tous les membres inscrits dans le groupe logon, par exemple ?
Je n'ai pas trouvé d'autres solutions que de récuperer les adresses une par une. C'est un peu long
Auriez vous une idée ?
Par avance merci
Hors ligne
bonjour et bienvenue
ce n'est pas encore conçut dans ziteplus la fonction newsletters c'est un module qu'on attend avec impatience
Je ne suis pas assez doué en php pour tirer les vers du nez de ziteplus mais j'ai déja joué avec user.php qui se trouve dans le dossier ziteplus/module/user.php et c'est dans ce petit module que tu pourra récupéré les données que tu à besoin (si tu t'y connais en php)
sinon attendre la version 9.3 car je crois que jpg à améliorer ce fameux fichier user.php
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Merci pour cette réponse rapide
Malheureusement, mes notions de php sont un peu vagues
J'imagine qu'il faut un script qui recupère toutes les adresses du fichier user.dta puis les utiliser dans la validation d'un formulaire avec la méthode Post.
C'est ça ?
Hors ligne
Bonjour
dans le pied de user.php tu trouvera if ($admin) {
tu remplace par ces lignes pour afficher les emails :
[== PHP ==]
if ($admin) {
uksort($f, create_function('$a, $b', 'return strcmp($a[0], $b[0]);'));
$out .= '<table class="ztable">';
$out .= '<tr class="headcolor"><td>'.$this->get_message('colname').'</td><td>'.$this->get_message('coldesc').'</td><td><b>'.$this->get_message('mail').'</b></td><td>'.$this->get_message('colgroup').'</td><td></td></tr>';
$i=0;foreach ($f as $clef => $valeur ) {
$out .= '<tr class="'.(++$i%2 ? 'oddcolor' : 'evencolor').'"><td><a href="'.self::$cms->base.'user|'.$clef.'|edit">'.strtoupper($clef).'</a></td><td>'.$valeur[1].'</td><td>'.$valeur[4].'</td><td>'.implode(' ',$valeur[2]).'</td>';
$out .= '<td align="center"><a href="'.self::$cms->base.'user|'.$clef.'|delete"><img src="deco/e1.png" /></a></td></tr>';
}
$out .= '</table>';
}
return $out;
}
Christian
Hors ligne
Merci ça fonctionne.
Mais ce n'est qu'un première étape.
Comment puis je récupérer automatiquement toutes les adresses pour les placer en destinataire d'un mail envoyé par un formulaire très simple ?
Hors ligne
tu veut faire du tri dans les groupes exemple :
j'envoie un mail au utilisateur du groupe toto
ou à tous les utilisateurs???
il faut que seul l'admin est la possibilité d'envoyé un email ou tout utilisateurs peut envoyé un email ???
je peaufine la question pour découvrir les réponses
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
C'est vrai que je n'ai pas donner tous les détails
Je veux l'envoyé à tous les utilisateurs, car il n'y a que 2 groupes : admin (moi) et logon (tous les autres). Si je reçois le mail, j'aurai une preuve de son bon envoi.
Seul l'admin peut voir le formulaire, c'est pourquoi je voulais l'insérer dans une page non publiée...
Hors ligne
voici un petit script php pour envoyer des email
[== PHP ==]
<?php
$destinataire = '';
$sujet = $_POST['sujet'];
$email=$_POST['email'];
$email2=$_POST['email2'];
$nom=$_POST['nom'];
$message=$_POST['message'];
$newsletter=$_POST['newsletter'];
$headers = 'From: <'.$email.'>' . "\r\n";
$messerr='';
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$messerr=$messerr."Adresse mail considérée comme NON valide.".'<br>';
}
if ($email!=$email2) {
$messerr=$messerr."Les 2 adresses mails ne sont pas identiques.".'<br>';
}
if ($sujet=='') {
$messerr=$messerr."Merci de mettre un sujet.".'<br>';
}
if ($message=='') {
$messerr=$messerr."Le but de cette page est d'envoyer un message!! Alors mettez-en un! Merci.";
}
if ($nom=='') {
$messerr=$messerr."Merci d'indiquer votre nom.";
}
if (isset($_POST['envoi']))
{
if ($messerr == '')
{
$sujet = "mon site " .html_entity_decode($sujet);
$message = html_entity_decode($message);
$message = str_replace('\'',"\'",$message);
$message = str_replace('’',"\'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = "message de ".$nom."\n".$message;
$message = "newsletter ".$newsletter."\n".$message;
if (mail($destinataire, $sujet, $message, $headers))
{
echo "L'envoi du mail a enfin réussi!!! BRAVO."."\n";
}
else
{
echo "L'envoi du mail a échoué, veuillez réessayer SVP."."\n";
}
}
else
{
echo '<h3><font color=red>'.$messerr.'</font></h3>';
}
}
if (($messerr) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo ' <h1>Formulaire de contact</h1>'."\n";
echo '<th colspan="2">Tous les champs sont obligatoires.</th><br><br>'."\n";
echo '<form action="" method="post" >'."\n";
echo '<table>'."\n";
echo ' <tr><td class="info">Votre email : </td><td class="champ"><input name="email" type="text" size="66"></td></tr>'."\n";
echo ' <tr><td class="info">Confirmez votre email : </td><td class="champ"><input name="email2" type="text" size="66"></td></tr>'."\n";
echo ' <tr><td class="info">Votre Nom : </td><td class="champ"><input name="nom" type="text" size="66"></td></tr>'."\n";
echo ' <tr><td class="info">Sujet : </td><td class="champ"><input name="sujet" type="text" size="66"></td></tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="contenu">Votre message</td>'."\n";
echo ' <td class="contenant"><textarea name="message" cols="50" rows="15"></textarea></td></tr>'."\n";
echo ' <tr><th colspan="1">'."\n";
echo ' <td class="lesboutons"><input type="reset" value="Annuler">'."\n";
echo ' <input type="submit" name="envoi" value="Envoyer"></td></th></tr>'."\n";
echo '</table>
<p><input type="checkbox" name="newsletter" id="newsletter" /> <label for="newsletter">souhaitez vous recevoir notre newsletter</label></p></form>'."\n";
}
?>
je ne sais pas trop comment dans destinataire rajouté la $valeur4 du user.php
peut etre en rajoutant
[== PHP ==]
require_once('zplus/module/user.php');
et puis un petit foreach
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Merci pour ce formulaire.
Je bloque également sur $destinataire.
J'ai essayé de renseigner avec $courriel après avoir rajouter
[== PHP ==]
require_once('zplus/module/user.php');
mais sans succès
C'est là toute la complexité de la chose...
Hors ligne
dans le fichier user.php la variable email est $valeur4
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Bonsoir,
le require user.php n'a pas lieu d'être pour ce que tu veux faire.
Tu devrais suivre la piste donnée par Christian.
Par exemple:
foreach ($this->user as $clef => $valeur) {
// $valeur[4] contient l'adresse courriel
if (isset($valeur[4]) {
fonction_qui_mail_a_ecrire_par_toi($valeur[4]);
}
}
ps: si tu as besoin du nom c'est $valeur[5], pour le prénom c'est $valeur[6]
a+
Jean-Paul
Hors ligne
Ok, j'ai compris !!!
MERCI
Demain, je vous livre le code tout propre ...
merci encore pour votre aide
Hors ligne
ok on met le mail dans le fichier user.php on ne peut le faire dans une page
moi je tentais le diable et voulais récupérer les variables de mail dans une page php
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
ok on met le mail dans le fichier user.php on ne peut le faire dans une page
moi je tentais le diable et voulais récupérer les variables de mail dans une page php
non non, on le met dans une page et uniquement là
le principe est de ne pas modifier user.php qui n'a été cité par Christian que comme exemple de code à adapter.
a+
Jean-Paul
Hors ligne
merci pour ce complément d'info mais perso j'arrive pas à affiché les mails sur une page
ce que christian à affiché je l'avais fait aussi en modifiant user.php pour que lorsqu'on ce connect en admin et que l'on vas voire la liste d'utilisateur on est en direct le mail de l'utilisateur en face du pseudo !!!
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
merci pour ce complément d'info mais perso j'arrive pas à affiché les mails sur une page
Dans une page de type PHP:
foreach ($this->user as $clef => $valeur) {
if (!empty($valeur[4])) {
echo "mail:${valeur[4]}<br/>";
}
}
va afficher les mails de tous les utilisateurs qui ont renseignés une adresse
a+
Jean-Paul
Hors ligne
Ok, j'ai compris !!!
MERCIDemain, je vous livre le code tout propre ...
merci encore pour votre aide
Après reflexion, ce code est mieux:
foreach ($this->user as $clef => $valeur) {
// $valeur[4] contient l'adresse courriel
if (!empty($valeur[4])) {
fonction_qui_mail_a_ecrire_par_toi($valeur[4]);
}
}
a+
Jean-Paul
Hors ligne
merci jpg pour t lumière cela fonctionne !! je découvre ziteplus de jours en jours et jamais déssus (à par mon niveau de php)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne