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> <?}?>
Annonceindlæg tema
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.
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"); }
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"); } } }
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 ??
Ret echo $_POST['modtager']."\n"; til: data['email'] . ' : ' . $data['navn'] . "<br />\n";
Tak - tak Så kringler jeg resten selv herfra. Læg lige et svar.
Tak for hjælpen Det var RIGTIG godt
Vi tilbyder markedets bedste kurser inden for webudvikling