• 09-01-2017, 16:18:41
    #1
    Form kullanılmıyor, normal _GET ile veri alıp insert into ile yazdırıyorum.

    if ( durum == 1 ) {

    update durum = 0
    insert into .... eklenecek veriler..

    }


    yukarıda farklı bir tablodan update durum 0 yapıyorum verinin tekrar engellenmesini önlemek için

    kodların yapısı önemli değil normal standart php

    lag ile arka arkaya f5 e basınca 5,10 tane insert into ekliyor. benim yaptıgım 1 , 2 sn sonra sayfa tekrar yenilenirse engelliyor fakat arka arkaya basılanları

    if durum engellemiyor

    arka arkaya basılarak yeni verilerin girilmesini nasıl engellerim?
  • 09-01-2017, 17:07:25
    #2
    örnek kod atıyorum. get id ile gelen veriler aynıysa kaydetmez. aynı değilde kaydedersin.

    Alıntı
    <?php
    $url = $_GET['url'];
    $kelime = $_GET['kelime'];
    $varmi=mysql_num_rows(mysql_query("Select * from seo where url='$url'"));
    if($varmi)
    {
    echo '<font size=3 color=Red face=Tahoma><strong>Daha Önceden Kayıt Edilmiş !!!</strong></font>';
    }
    else {
    $sql = "insert into seo(url, kelime) values ('".$url."','".$kelime."')";
    if (mysql_query($sql))
    echo '<font size=3 color=Yellow face=Tahoma><strong>Eklendi !!!</strong></font>';
    }
    ?>
  • 09-01-2017, 18:04:55
    #3
    öncelikle teşekkürler, benzer kod yapısını kullanıyorum,
    saniyede 2 kere refresh yapınca aynı insert intoyu koyuyor (lagdan sanırım)

    fakat yavaş yavaş mesela1 saniye sonra refresh yaparsan girildi hatası veriyor.%100
    çoğu zaman arka arkaya basılsada bişey olmuyor. Fakat bunu atlattığı durumlar var

    sql eklenme zamanına bakıyorum mesela 432534261 ikiside aynı tarih yada 1 fazlası time() ile


    bu lag konusunda bu normal midir
  • 09-01-2017, 18:36:29
    #4
    bu kod yapısını sürekli kullanıyorum dediğin sorundan karşılaşmıyorum kodunun tümünü buradan atarsan bakalım yardımcı olmaya çalışırım
  • 09-01-2017, 20:03:42
    #5
    sizin kodu direkt kopyala yapıştırla denedim yine aynı sonuç

    8kb lık sadece php dosyası, bir çok if vb. kullandım bazı yerlerde çok kastığı için anında yüklemiyor, yüklemedigi için arka arkaya f5 e basıldıgı sırada tüm koşulları daha değişmeden karşılıyor gibi gösteriyor.

    önceki yazdığım dosyaları kontrol ettim onlarda hiç bir sorun yok,

    zaten arka arkaya f5 basınca bazen 2 bazen 5 bazen hiç sorunla karşılaşmadan 1 tane atıyor. Kodda yanlışlık oldugunu sanmıyorum 1-2sn sonra yapıldıgı zaman sorun yok zaten o 1 saniyeden kısa süredeki refreshlerde problem oluyor

    ///

    sanırım bu işin çözümü yok, insert into yerine update yaparak kod yapısını değiştireceğim.
  • 09-01-2017, 20:18:41
    #6
    benim kullandığım iki yöntem var, secureimage kullanabilirsiniz , resim ve session her sefer sıfırdan yaratıldığından birçok sorunu çözüyor.
    Veya forma her zaman rastgele üretilen bir sayı ekleyip, bu sayıyı hem session hem dbde tutarak, aynı kaydı girmesini engelleyebilirsiniz.

    edit----

    Yanlış hatırlamıyorsam, işlem bitince javascript yönlendirme yaparsanız, yine refresh yapılmasını engelliyor.