โค้ดการส่งเมล์ไปหาหลายคน

โค้ดนี้สำหรับการส่งอีเมล์ไปหาหลายคน โดยการเลือกรายชื่อ ด้วย checkbox

เราจะต้องทำการอ่านรายชื่ออีเมล์ออกมาจากฐานข้อมูล แล้วไปสร้างเป็น checkbox ก่อน แล้วเอาไปแสดงใน checkbox

<?php
  //สร้างรายชื่อ email ปกติต้องอ่านมาจากฐานข้อมูล
  for ($i = 0 ; $i < 10 ; $i++ )
  {
    $email[]= 'xx'.$i.'@email.com'; //สมมุติ
  }
    
  //แสดงรายชื่อ อีเมล์ทั้งหมด และ check box
  echo "<form name=form_sel_mail method=post action=''> ";
  echo "<table> ";
  for ($i=0; $i<count($email); $i++) {
    echo "<tr><td><input type=checkbox name=users[] value=$i id=users></td><td>$email[$i]</td></tr> ";
  }
   echo "<tr><td> </td><td><input type=submit name=Submit value=ส่งเมล์></td></tr> ";
   echo "</table> ";

   echo "</form> ";
?>
<input type=checkbox OnClick="SetAllCheckBoxes('form_sel_mail', 'users', checked);"> ทั้งหมด
<script type="text/javascript">
function SetAllCheckBoxes(FormName, FieldName, CheckValue) {
  if (!document.forms[FormName]) return;
  var objCheckBoxes = document.forms[FormName].elements[FieldName];
  if (!objCheckBoxes) return;
  var countCheckBoxes = objCheckBoxes.length;
  if (!countCheckBoxes) objCheckBoxes.checked = CheckValue;
  else // เลือกเชคบ๊อกทั้งหมดตามที่กำหนดมา
    for(var n = 0; n < countCheckBoxes; n++)
      objCheckBoxes[n].checked = CheckValue;
}
</script>

ส่วนการรับค่าที่ส่งมา มีโค้ดประมาณนี้ เราต้องเขียนโค้ด เพิ่มเติมเพื่อส่งเมล์อีกนิดหน่อยครับ ตามที่ผม comment ไว้

<?php
$users=$_POST["users];

  //ถ้ามีการส่งรายชื่อมา หมายถึงเมื่อมีการกดส่ง
  if (isset($users)) {
    for ($i=0; $i<count($users); $i++) {
      $to=$email[$users[$i]];
      echo "ส่งเมล์ไปหา $to<br />";
      //เขียนโค้ดเพื่อส่งเมล์ที่นี่
      //mail($to, .......
    }
  }
?>
ผู้เขียน goragod โพสต์เมื่อ 31 มี.ค. 2551 เปิดดู 13,920 ป้ายกำกับ Email
^