I have a multiple form mail script. I want mails to go addresses in mail.txt. However, mails successfully go first 5 address in mail.txt but later it says "please write your name". How can I fix this problem? Thanks a lot...
FORM FILE (form.php)
<form action="/staticfiles/send.php" method="post" target="_blank"><br>
<table border="0" summary="">
<tr>
<td>
Name:
</td>
<td>
<input type=text style="width: 250px" name="adsoyad" size="40" maxlength="256"><br>
</td>
</tr>
<tr>
<td>
E-mail:
</td>
<td>
<input type=text style="width: 250px" name="kimden" size="40" maxlength="256"><br>
</td>
</tr>
<tr>
<td>
Subject:
</td>
<td>
<input type=text style="width: 250px" name="konu" size="40" maxlength="256"><br>
</td>
</tr>
<tr>
<td>
Message:
</td>
<td>
<textarea style="width: 250px; height: 150px" name="mesaj" rows=13 cols=65></textarea><br>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input style="width: 125px" type=submit value="Send">
</td>
</tr>
</table>
</form><br>
SEND FILE (send.php)
<?php
switch (AlanlarKontrol(($_POST['adsoyad']),($_POST['kimden']),($_POST['konu']),($_POST['mesaj'])))
{
case 0;
print $gonderildimesaji;
$adsoyad=$_POST['adsoyad'];
$konu=$_POST['konu'];
$mesaj=$_POST['mesaj'];
$kimden2=$_POST['kimden'];
//$kimden = "From: $kimden2";
$kimden = "Content-type: text/html; charset=iso-8859-9\r\n";
$kimden.= "From: $kimden2";
$formatli='
<p><b>'.$gonderilecekkonu.'</b></p>
<b>Gönderen Adı Soyadı :</b> '.$adsoyad.'<br>
<b>Gönderen E-mail Adresi :</b> '.$kimden2.'<br>
<b>Mesaj :</b> '.$mesaj.'<br><br>
';
ob_start();
$basla = $_GET["basla"] ? $_GET["basla"] : 0;
$limit = 5;
$bekle = 2;
$konu = $_POST['konu'];
$mesaj = $formatli;
$headers="MIME-Version: 1.0";
$headers.= "From: $adsoyad <$kimden2>\n";
$headers.= "X-Sender: <$kimden2>\n";
$headers.= "X-Mailer: PHP\n";
$headers.= "X-Priority: 3\n";
$headers.= "Return-Path: <$kimden2>\n";
$headers.= "Content-Type: text/html; charset=iso-8859-9\n";
if($dosya = (fopen("mail.txt",'r'))){
while(!feof($dosya)){
$satir = trim(fgets($dosya,50));
if($satir != ""«») $mail[] = $satir;
}
fclose($dosya);
for($i=$basla; $i<$basla+$limit; $i++){
if($mail[$i] != ""«»){
echo $mail[$i]."<br>";
mail($mail[$i], $konu, $formatli, $headers);
}
}
echo "<br>Gönderilen $basla, ".($basla+$limit)." arası toplam ".($basla+$limit)." mail. ";
if(count($mail) > ($basla+$limit)){
echo "Kalan ".(count($mail) - ($basla+$limit))." mail.";
header("refresh: $bekle; url=send.php?basla=".($basla+$limit)); // Refresh page
}
}
else
echo "Error: File doesn't open.";
break;
case 1;print "<h1>Error</h1>Please write your name";break;
case 2;print "<h1>Error</h1>Please write e-mail";break;
case 3;print "<h1>Error</h1>Please write e-mail";break;
case 4;print "<h1>Error</h1>Please write a message";break;
case 5;print "<h1>Error</h1>Please write a subject";break;
}
function AlanlarKontrol ($adsoyad,$kimden2,$konu, $mesaj)
{
if ($adsoyad==""«») return 1;
if ($kimden2==""«») return 2;
else
{
if (!MailKontrol($kimden2)) return 3;
}
if ($mesaj==""«») return 4;
if ($konu==""«») return 5;
return 0;
}
function MailKontrol ($StrMail)
{
$yasak=array("/","\\","(","«»)","[","]","{","}","*","?"«»);
if (strlen($StrMail)<6)
{
return false;
}
$At=0;
$Nokta=0;
for ($i=0;$i<strlen($StrMail);$i++)
{
$Karekter=substr($StrMail,$i,1);
if ($Karekter=="@"«») $At++;
if ($Karekter=="."«») $Nokta++;
for ($j=0;$j<=9;$j++)
{
if ($Karekter==$yasak[$j]) return false;
}
}
if (($At==1) and ($Nokta>=1)) return true;
return false;
}
?>