โค้ดการส่งเมล์ไปหาหลายคน
เราจะต้องทำการอ่านรายชื่ออีเมล์ออกมาจากฐานข้อมูล แล้วไปสร้างเป็น 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, .......
}
}
?>