• 15-09-2008, 22:47:26
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba;
    Bir konuda takıldım ve yardım istiyorum, elimde txt dosyasına mesaj kayıt edebildiğim bir kod var güzel bir şekilde çalışıyor ancak yapamadığım kayıtları sıralaması txt'ye kayıt ederken her yeni mesajı önceki verinin altına kayıt ediyor ben ise yeni gelen veriyi daha önce yazılmış olanın üstüne kayıt etmek istiyorum bunu nasıl sağlayabilirim?

    index.php
    <form name="form1" method="post" action="veri.php">
      <input name="ad" type="text" id="ad"><br>
      <textarea name="soyad" cols="" rows=""></textarea><br>
      <input name="post" type="submit">
    </form>
    veri.php
    <?php 
    $ad = $_POST['ad']; 
    $soyad = $_POST['soyad']; 
    $kaydet = "Ad=$ad \r\n Soyad=$soyad\r\n"; 
    $fp = fopen("data.txt", "asc"); 
    if(fwrite($fp, $kaydet)) echo "Teþekkür Ederiz"; 
    else echo "yazdir=hata"; 
    fclose($fp); 
    ?>
  • 15-09-2008, 23:03:11
    #2
    Konu günceldir
  • 16-09-2008, 00:03:23
    #3
    $fp = fopen("data.txt", "asc"); değil, $fp = fopen("data.txt", "desc"); olacak.
  • 16-09-2008, 00:07:21
    #4
    samet_M adlı üyeden alıntı: mesajı görüntüle
    $fp = fopen("data.txt", "asc"); değil, $fp = fopen("data.txt", "desc"); olacak.
    hata veriyor
  • 16-09-2008, 00:30:33
    #5
    fopen parameterlerinde asc veya desc diye bir seçenek yok. asc yazdığında a ile başladığı için append'e karşılık geliyor ve ekleme modunda açıyor. desc yazdığında hata vermesi normal.
    bu arada sorun için aklıma gelen efektif bir yöntem yok. veriyi ekrana yazdırdığın kodu eklersen belki ona göre daha iyi birşeyler yazılabilir.
  • 16-09-2008, 00:45:01
    #6
    Üyeliği durduruldu
    kayıt yaparken

    1 | 1.satir
    2 | 2.satir


    gibi kaydetseydin..

    $satirlar=ksort($satirlar);

    diye tersine dizebilirdin..
    yine de ksort(); dene belki dizer..
    akLıma başka bişey gelmior.. ahmett in dediği gibi kodları yazarsan bişeyler düşünürüz (=
  • 16-09-2008, 00:51:20
    #7
    Çok basit bir sayfa yapıyorum yani yazı yazılacak txt ye kayıt edilecek ve txt'den herhangi bir sayfaya şu kodlar ile çağrılacak

    Örnk. goster.php
    <?php
    
    if ($dosya = (fopen ("data.txt" , 'r') ) ) {
    }
    else {
    print ("Dosya açýlamadý!");
    }
    while ( ! feof ($dosya) ) {
    $satir = fgets ( $dosya, 1024);
    print ("$satir");
    }
    fclose ($dosya); 
    
    ?>
    yapmak istediğimin tamamı bu yani gösterme sayfasında değil kayıt işlemi sırasında sıralaması gerekiyor
  • 16-09-2008, 01:01:29
    #8
    İlla kayıt sırasında sıralama yapacağım diyorsan sana berbat bir yol söyleyim
    Önce tüm içeriği bir değişkene at sonra başa yeni veriyi yazdıktan sonra değişkendeki eski veriyi sona yazdır
  • 16-09-2008, 01:04:39
    #9
    ahmeTT adlı üyeden alıntı: mesajı görüntüle
    İlla kayıt sırasında sıralama yapacağım diyorsan sana berbat bir yol söyleyim
    Önce tüm içeriği bir değişkene at sonra başa yeni veriyi yazdıktan sonra değişkendeki eski veriyi sona yazdır
    Yok illa demiyorum başka türlü olabiliyorsa neden olmasın, ama sanırım biraz karışık olacak en iyi başka birşeyler yapmak. İlginizden dolayı teşekkürler