PHP de toplu email gönderme.

zynpsrzeynep anda

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

2011-12-25 22:18:20

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

}
Her programcı birgün Php yi tadacaktır
2011-12-27 17:35:00

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro