PHP de toplu email gönderme.
Arkadaşlar Php de veri tabanında kayıtlı öğrencilere toplu email göndermeyle ilgili bir sorunum var. Şöyle ki:
Email formu şu şekilde
<FORM action=".../mailgonder.php" method="post">
<table cellpadding=0 cellspacing=1 border=0 bgcolor=#efefef>
<tr><td align=center bgcolor=#ffcc33>
<tr><td align=right><font face=arial size=2><b>Kimden:</b></font></td>
<td><input type=text name="ad" value="" size=30></td>
</tr>
<tr><td align=right><font face=arial size=2><b>Sinif</b></font></td>
<td><input type=text name="classido" value="" size=30></td>
</tr>
<!--<tr><td align=right><font face=arial size=2><b>Kime:</b></font></td>
<td><input type=text name="email" value="" size=30></td>
</tr> -->
<tr><td align=right><font face=arial size=2><b>Konu:</b></font></td>
<td><input type=text name="konu" value="" size=30></td>
</tr>
<tr><td align=right valign=top><font face=arial size=2><b>Mesaj:</b></font></td>
<td><textarea name="msg" cols=44 rows=5></textarea></td>
</tr>
<tr>
<td></td>
<td align=center><font face=arial size=2>
<input type="submit" name="submit" value=" Gönder ">
<input type="reset" value=" Sil "></font></td>
</tr>
</table>
</form>
submit ile yönlendirilen mailgonder.php nin söz konusu sorunlu kodları şu şekilde;
$Query_String = "SELECT student.email FROM student where student.classid = '$_POST[classid]'";
$Query_ID = mysql_query($Query_String,$Link_ID);
if (!$Query_ID)
{
halt("Invalid SQL: ".$Query_String);
}
$num_rows = mysql_num_rows($Query_ID);
while(1)
{
$Record = mysql_fetch_array($Query_ID);
if(!is_array($Record))
{
mysql_free_result($Query_ID);
break;
}
foreach($Record as $to)
{
mail($to, $_POST['konu'], $_POST['msg']);
}
}
Mail göndermiyor. Bu kodu biraz değiştirdim ancak o zaman da sadece tabloda o sınıf bilgisine ait ilk kayıtlı öğrenci kimse ona gönderiyor. Diğerlerine göndermiyor maili.Nerede hata yapıyor olabilirim? Yanıtlarsanız çook makbule geçecek.. Teşekkürler
Php
Bu bölümdeki döngü sadece bir kez işlem yapar. while(1)
While parantezinin içine daha anlamlı bir şart koymalısın. şöyle olabilir:
while($num_rows = mysql_num_rows($Query_ID))
{
// diğerleri
}