Avatar billede sthen Nybegynder
25. juni 2008 - 15:14 Der er 8 kommentarer og
1 løsning

Sende mail til flere udvalgte brugere

Mit spørgsmål handler måske i grunden ikke så meget om selve mailfunktionen, men nærmere om at lave et array ud fra checkboxes.

Hvis jeg bruger en funktion i stil med nedennævnte, vil kun den sidst markerede modtage en mail.

Hvad gør jeg???

<?

if($_POST['kontrol']=="1"){

echo "Der sendes nu mail til:<br />";

include('../connect/connect.php');

$res = mysql_query("select * from mailadresser where mail_modt ='$_POST[modtager]'");
while($data = mysql_fetch_array($res)) {

mail( $_POST['modtager'] , " Overskrift" , $_POST['besked'] , "From: ".$_POST['user']."<".$_POST['user']."@domæne.dk">\nReply-to: ".$_POST['user']."@domæne.dk");

}

}
else
{

?>
<form method="post" action="<? echo $_SERVER['PHP_SELF']."?user=".$_GET['user']."&besked=".$_GET['besked']; ?>" name="send_mail">

<input type="hidden" name="kontrol" value="1">

<b>Marker hvis der skal sendes en mail til en eller flere af nedenstående personer:</b>
<br /> <br />
<INPUT TYPE="CHECKBOX" NAME="modtager" value="1">modtager 1<br />
<INPUT TYPE="CHECKBOX" NAME="modtager" value="2">modtager 2<br />
<INPUT TYPE="CHECKBOX" NAME="modtager" value="3">modtager 3<br />
<INPUT TYPE="CHECKBOX" NAME="modtager" value="4">modtager 4<br />
<INPUT TYPE="CHECKBOX" NAME="modtager" value="5">modtager 5<br />
<INPUT TYPE="CHECKBOX" NAME="modtager" value="6">modtager 6<br />


<br> <input type="submit" value="Send">
</form>
<?}?>
Avatar billede jakobdo Ekspert
25. juni 2008 - 15:50 #1
Du kunne opbygge din form som følger:

$res = mysql_query("SELECT id,navn FROM mailadresser");
while($data = mysql_fetch_array($res)) {
echo '<INPUT TYPE="CHECKBOX" NAME="modtager[]" value="'.$data['id'].'">'.$data['navn'].'<br />';
}

Så har du et array at sende emails til bagefter... :o)
Og ellers spørger du bare.
Avatar billede sthen Nybegynder
25. juni 2008 - 18:00 #2
Den del du har beskrevet fungerer fint, men hvordan får jeg så et output ud af det array du kalder modtager[] ??

Jeg mener - hvad skal jeg så skrive i denne del:

$res = mysql_query("select * from mailadresser where mail_modt ='$_POST[modtager]'");
while($data = mysql_fetch_array($res)) {

mail( $_POST['modtager'] , " Overskrift" , $_POST['besked'] , "From: ".$_POST['user']."<".$_POST['user']."@domæne.dk">\nReply-to: ".$_POST['user']."@domæne.dk");

}
Avatar billede jakobdo Ekspert
25. juni 2008 - 18:12 #3
Noget i stil med:

if($_POST['kontrol']=="1"){
    echo "Der sendes nu mail til:<br />";
    include('../connect/connect.php');
   
    foreach($_POST['modtager'] AS $modtager){
        $res = mysql_query("select * from mailadresser where id ='$modtager'");
        while($data = mysql_fetch_array($res)) {
            mail( $_POST['modtager'] , " Overskrift" , $_POST['besked'] , "From: ".$_POST['user']."<".$_POST['user']."@domæne.dk">\nReply-to: ".$_POST['user']."@domæne.dk");
        }
    }
}
Avatar billede sthen Nybegynder
25. juni 2008 - 18:32 #4
Testede lige med følgende:

if($_POST['kontrol']=="1"){
echo "Der sendes nu mail til:<br />";
include('../connect/connect.php');

foreach($_POST['modtager'] AS $modtager){
$res = mysql_query("select * from mailadresser where mail_modt ='$modtager'");
while($data = mysql_fetch_array($res)) {
echo $_POST['modtager']."\n";

}
}
}

-- hvilket gav følgende output:

Der sendes nu mail til:
Array Array

Hvad er der galt ??
Avatar billede jakobdo Ekspert
25. juni 2008 - 18:37 #5
Ret echo $_POST['modtager']."\n";
til: data['email'] . ' : ' . $data['navn'] . "<br />\n";
Avatar billede sthen Nybegynder
25. juni 2008 - 19:03 #6
Tak - tak
Så kringler jeg resten selv herfra.

Læg lige et svar.
Avatar billede jakobdo Ekspert
25. juni 2008 - 21:20 #7
Svar!
Avatar billede sthen Nybegynder
25. juni 2008 - 21:27 #8
Tak for hjælpen
Det var RIGTIG godt
Avatar billede jakobdo Ekspert
25. juni 2008 - 21:50 #9
Jeg takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester