20 Kasım 2010 Cumartesi

Php örnekleri - Dosyaya Veri Yazma, Okuma, Ekrana Yazma- fopen,fputs,fclose

Arkadaşlar alt kısımda kırmızı renkte belirttiğim kodları "form.php" adında kaydedin.

Bazı bölümlerde kodlar hakkında açıklama satırları vardır. Bu açıklamalara dikkat ediniz.


< html >
< body >

< form enctype="multipart/form-data" action="form.php" method="post" >
< table border="1" align="center" >
< h1 > ögrenci bilgi < /h1 >
< tr >< td colspan="2" align="center" >Lütfen Formu Eksiksiz Doldurun < /td >< /tr >
< tr >< td > isim : < /td >< td > < input type="text" name="ad" value="" >< br >< /td >< /tr >
< tr >< td > numarasi : < /td >< td > < input type="text" name="no" value="" >< br >< /td >< /tr >
< tr >< td > Cinsiyet < /td >
< td >
bay :< input type="radio" name="cins" value="bay" >
bayan:< input type="radio" name="cins" value="bayan" >
< /td >< /tr >
< tr >< td > ders : < /td >< td >< select name="ders" >
< option value="turkce" >turkce< /option >
< option value="mat" >mat< /option >
< /select >< br >< /td >< /tr >
< tr >< td > vize : < /td >< td > < input type="text" name="vize" value="" > < br >< /td >< /tr >
< tr >< td > final :< /td >< td > < input type="text" name="final" value="" >< br >< /td >< /tr >

< tr >< td colspan="2" align="center" >< input type="submit" name="Gonder" value="Gonder" >< input type="reset" name="Temizle" value="Temizle" >< /td >< /tr >
< tr >< td colspan="2" >< a href="listeleme.php" >Kayitlari görmek için tiklayiniz< /a >< /td >< /tr >
< /table >
< /form >
< /body >
< /html >


< ?php
//Dosyaya kayıt yapmak için kullanılan kısım
// isset sarti ile bilgilerin gelip gelmediginin kontrolünü yapiyoruz

if(isset($_POST['ad'])&& isset($_POST['no'])&& isset($_POST['cins'])&& isset($_POST['ders'])&& isset($_POST['vize'])&& isset($_POST['final']))
{
// Formdan gelen bilgileri degiskenlre aktariyoruz.
$ad=$_POST['ad'];
$no=$_POST['no'];
$cins=$_POST['cins'];
$ders=$_POST['ders'];
$vize=$_POST['vize'];
$final=$_POST['final'];
$ort=($vize*0.4)+($final*0.6);


//bilgileri data.txt dosyasina kayit etme

$dosya = 'data.txt';
$fp = fopen($dosya,"a+");

// burada \t yani tab boşluğu bırakmamızın sebebi dosyaya yazdımığımız verileri ayırmak içindir. Yani dosyadan veri okurkende tab boşluğuna göre ayırım yapacağız.

fputs($fp, $ad."\t".$no."\t".$cins."\t".$ders."\t".$vize."\t".$final."\t".$ort."\n");
fclose($fp);
echo "basariyla kaydedildi \< br > \n";
}

? >


Arkadaşlar altta mavi renkte belirttiğim kodları ise listeleme.php olrak kaydedin

< ?php
// ekrana tablo şeklinde yazma

$kayit_no=1;
$durum;
$sinif_ort=0;
$ort_toplam=0;
$fp = fopen("data.txt","r");
echo "< table border='1' > \n";


echo "< h1 >Ogrenci kayitlari listesi< /h1 > ";
echo "< tr bgcolor='blue' >< td >No< /td >< td >isim< /td >< td >Numara< /td >< td >Cins< /td >< td >Ders< /td >< td >Vize< /td >< td >Final< /td >< td >Ortalama< /td >< td >Durum< /td >";
while(!feof($fp))
{
echo "< tr > \n";

$satir = fgets($fp);
$hucreler = explode("\t",$satir);
$sayac=1;
echo "< td > $kayit_no < /td >\n";
foreach($hucreler as $i)
{ // data txt den alınan veriler(tek tek)
if(($sayac%7)==0)
{
// öğrencilerin geçti veya kaldı ifadelerini bulmak için öğrencilerin ortalamaları durum değişkenine aktarılıyor.
$durum= $i;
// sınıf ortalamasını bulmak için bütün öğrencilerin ortalamaları ort_toplam değişkeninde toplanıyor sonra kişi sayısına bölerek ortalamayı bulmuş olacağız.
$ort_toplam+=$durum;
}

echo "< td > $i < /td > \n";
$sayac++;
}

if($durum >=60) echo "< td > Gecti < /td > \n";
if($durum< 60) echo "< td > Kaldi < /td > \n";
$kayit_no++;
}

fclose($fp);
echo "< /table >";
$sinif_ort=$ort_toplam/($kayit_no-2);
echo "< td > Sinifin genel ortalamasi : $sinif_ort < /td > \n";
? >

Herhangi bir sorunuz olduğunda mail atabilirsiniz kaleugur@gmail.com ( Uğur KALE )

Hiç yorum yok: