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 fra Jysk IT
Sikkerhed skal være en del af driften
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
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"); } } }