BilişimTeknoloji

PHP ile Not Defterine (.txt) Kaydetme, Güncelleme, Silme

PHP ile Not Defterine (.txt) Kaydetme, Güncelleme, Silme

Bu yazıda PHP dilinde not defterine kayıt ekleme, güncelleme ve silme işlemlerini yapabilirsiniz
Aşağıdaki kodları .php olarak kayıt ettikten sonra aynı dizinde dosyam.txt adında bir not defteri oluşturup kullanabilirsiniz.

php ekle sil

<html>
<body>
<head>



</head>
<?php
if(isset($_POST['gonder'])){//gönder butonuna basıldıysa
    $ad     =$_POST['ad'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
    $vize   =$_POST['vize'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
    $yaz    =fopen("dosyam.txt","a+");//dosyam.txt sonuna yazma metodnda açılıyor
    fputs($yaz,"$ad\t$vize\n");//açılan dosyanın içerisine \t ile formatlıbir şekilde yazılıyor
    fclose($yaz);//açılan dosya kapatılıyor
}//gönder butonuna basıldıysa sonu
if(isset($_POST['Sil'])){//sil butonuna basıldıysa
    $ID     =$_POST['ID'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
    $ac     =fopen("dosyam.txt","r");//dosyam.txt okuma metodunda açılıyor
    $gecici =fopen("gecici.txt","w");//gecici.txt yazma metodunda açılıyor
    $sayac  =0;//sayac değişneninin ilk değeri 0 yapılıyor
    while(!feof($ac)){//açılan dosyanın sonuna kadar dönülüyor
        $deger=fgets($ac);//açılan dosyadan bir satır okunuyor
    if(in_array($sayac,$ID)==FALSE){//eğer sayac $ID dizisinin içerisinde bulunmuyorsa aşağıdaki işlemler yapılır yani silinecek elemanlar içerisinde yoksa
        fputs($gecici,$deger);//geçicinin içerisine okunan değer yazılıyor
    }//
    $sayac++;//sayacı bir arttır
    }//dosyanın sonuna kadar dönme sonu
     
    fclose($ac);//açılan dosya kapatılıyor
    fclose($gecici);//açılan dosya kapatılıyor
    unlink("dosyam.txt");//dosyam.txt dosyası siliniyor
    rename("gecici.txt","dosyam.txt");//gecici.txt nin adı dosyam.txt olarak değiştiriliyor
}//sil butonuna basıldıysa sonu
if(isset($_POST['kaydet'])){//kaydet butonuna basıldıysa
    $ad     =$_POST['Ad'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
    $vize =$_POST['vize'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
    $ID     =$_POST['ID'];//post metoduyla gönderilen veri alınıp değişkene aktarılıyor
    $ac=fopen("dosyam.txt","r");//dosyam.txt okuma metodunda açılıyor
    $gecici=fopen("gecici.txt","w");//gecici.txt yazma metodunda açılıyor
    $sayac=0;//sayac değişneninin ilk değeri 0 yapılıyor
    while(!feof($ac)){//açılan dosyanın sonuna kadar dönülüyor
        $deger=fgets($ac);//açılan dosyadan bir satır okunuyor
    if($ID==$sayac){//gelen düzeltilmiş verinin ıdsi ile sayac uyuşuyorsa
        fputs($gecici,"$ad\t$vize\n");//düzeltişmiş veriyi gecici.txt ye formatlı yaz
    }else{//uyuşmuyorsa
        fputs($gecici,$deger);//geçicinin içerisine okunan değer yazılıyor
    }//uyuşmuyorsa sonu
    $sayac++;//sayacı bir arttır
    }//dosyanın sonuna kadar dönme sonu
     
    fclose($ac);//açılan dosya kapatılıyor
    fclose($gecici);//açılan dosya kapatılıyor
    unlink("dosyam.txt");//dosyam.txt dosyası siliniyor
    rename("gecici.txt","dosyam.txt");//gecici.txt nin adı dosyam.txt olarak değiştiriliyor 
}//kaydet butonuna basıldıysa sonu
foreach($_POST as $veri=>$anahtar){//gelen tüm post veriler taranıyor
    if($anahtar=='Duzenle'){//eğer $anahtar duzenle ise
        $ac=fopen("dosyam.txt","r");//dosyayı okuma modunda aç
        $sayac=0;//sayaç değişkeninin ilk değeri 0
        while(!feof($ac)){//dosyanın sonuna kadar dönülüyor
            $okunan=fgets($ac);//açılan dosyadan 1 satır okunuyor
            if($veri==$sayac){//sayac ile gelen veri değeri eşit ise
            $parcala=explode("\t",$okunan);//okunan değeri formatlı yazdırdığımız şekilde yani \t ile parçalara ayırıyoruz
                echo "<form action='' method='POST'>Kimlik No: <input type= 'text'  name='Ad'  value=\"$parcala[0]\"/><br/>
                Ad Soyad: <input type= text  name='vize'  value=\"$parcala[1]\"/><br/>
                <input type= 'hidden'  name='ID'  value='$sayac' />
                <input type= 'submit'  name= 'kaydet'  value='Guncelle' /> 
				<hr>				
                </form>";//ekrana verileri düzenleyebileceğimiz tablo konuluyor
            }//sayac ile gelen veri değeri eşit ise sonu
            $sayac++;//sayac 1 arttırılıyor
        }       //dosyanın sonuna kadar dön sonu
     
    fclose($ac);//açılan dosya kapatılıyor
    }//eğer $anahtar duzenle ise sonu
}//gelen tüm post veriler taranıyor sonu
if(file_exists("dosyam.txt")){//dosyam.txt var ise 
    $ac=fopen("dosyam.txt","r");//dosyam.txt okuma modunda açılıyor
    echo "<form action='' method= 'POST' ><table border= '2' >";//bir form açılıyor ve ekrana 2 pixel çizgi genişliğine sahip tablo açılıyor
    echo "<tr><th> Kimlik No</th><th>Ad Soyad</th><th><input type= 'submit'  name= 'Sil'  value= 'Sil'/></th><th>Duzelt</th></tr>";//başlıklar atılıyor
    $sayac=0;//sayac değişkeninin ilk değeri 0 yapılıyor
    while(!feof($ac)){//dosyanın sonuna kadar dönülüyor
        $okunan=fgets($ac);//dosyadan tek satır okunuyor
        if(empty($okunan))continue;//okunan değer boş ise aşağıdaki işlemleri yapmadan while a dön
        $parcalanan=explode("\t",$okunan);//verileri \t ile parçalıyor
        echo "<tr>";//satır açılıyor
        foreach($parcalanan as $veri){//parçalanan değerin sonuna kadar dönülüyor
            echo "<td>$veri</td>";//veri ekrana yazdırılıyor
        }//parçalanan değerin sonuna kadar dönülüyor sonu
        echo "<td><input type='checkbox'  name= \"ID[]\"  value='$sayac' /></td><td><input type='submit'  name='$sayac'  value='Duzenle' /></td></tr>";//düzenle butonu konuluyor
        $sayac++;//sayac arttırılıyor
    }
    echo "</table></form>";//tablo ve form kapatılıyor
    fclose($ac);//açılan dosya kapatılıyor
}//dosyam.txt var ise sonu

?>




<form action="" method="POST">
Kimlik No:&nbsp;&nbsp;<input type="text" placeholder="Kimlik No" name="ad"/><br/><br>
Ad Soyad  :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" placeholder="Ad / Soyad" name="vize"/><br/><br>
<input type="submit" name="gonder" value="Kaydet"/>
</form>
</body>
<html>

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu