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?
Refresh ile yeni veri girilmesini engelleme
5
●954
- 09-01-2017, 16:18:41
- 09-01-2017, 17:07:25örnek kod atıyorum. get id ile gelen veriler aynıysa kaydetmez. aynı değilde kaydedersin.
Alıntı - 09-01-2017, 18:04:55ö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:29bu 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:42sizin 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:41benim 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.