Merhaba arkadaşlar
Sizden bir kod hakkında yardım isteyeceğim. Formdan bir değer alıyorum bu değerler
1 saat
2 saat
3 saat
... 8 saate kadar gidiyor.
2 saat diye değer geldiğini varsayalım
kullanıcıyı 2 saat boyunca bekletmek ve bu zamanı geriye saymak istiyorum.
o sırada işlem yaptırmıyacağım
zaman fonksiyonlarında neler yapmam gerekiyor.
Yardımlarınız için teşekkürler
PHP zaman işlemleri hakkında
13
●1.845
- 15-06-2009, 10:46:55sayfa açık kalarak mı bekleyecek kullanıcı,webadam adlı üyeden alıntı: mesajı görüntüle
yoksa çıkış yapıp bir saat sonra girse bile kalan süre : 1 saat gibi bir sayım mı ? yani online oyunlardaki gibi. ? - 15-06-2009, 10:50:16sayfa kapansada arkada sürenin devam etmesi gerekiyor.
online oyunlardaki gibi.
şuan şu mantıkta yaptım.
1 saat çalış dediğimde
arkada tarafda saniyeye çevirip tabloya kaydediyorum.
daha sonra java scriptle geriye saydırıyorum.
01:00:00 den geriye başlayarak sayıyor tamam ancak her f5 de süre sıfırlanıyor
Ben onu bir şekilde kalan zamanıda db de tutman gerekiyorki her f5 de oradan bakarak gösterim kalan zamanı - 15-06-2009, 10:56:36iş başladığında veritabanına süreyi kaydedersin.
sonra iş için zamanın gösterildiği sayfaya yönlendirirsin.
bu sayfa da o olay için kayıtlı zamanı çekip server saati ile karşılaştırır aradaki farkı alırsın.
eğer hala dakika varsa js fonksiyonuna verirsin bu zamanı.
o saniyeleri saymaya başlar, ekrana basar.
mantıken böyle olabilir. - 15-06-2009, 11:22:44arkadaşın dediği gibi java script ile saydırmadan önce tablodan zamanı çek, şimdiki zamandan tablo zamanını çıkart 1 saatten küçük ise java scriptte hesapladığın kalan zamandan başlayarak saydır
bu arada her f5 de tablodaki veriyi güncelliyorsan önce bunu kontrol etmen lazım. tabloya ip yi kaydettir o ip'den bir talep geldiğinde tablodaki kayıt 1 saatten eskiyse yeni kayıt yaptırırsın eğer 1 saat içinde kayıt yapılmışsa herhangi bir işlem yapmazsın bu durumda tablodaki zaman kaydı her f5 de yenilenmez - 15-06-2009, 13:04:34Eposta Aktivasyonu GerekmekteDostum başladığın tarih-zaman ve ne kadar süreceğini kaydet db'ye.Sayfa açıldığında şimdiki zamandan başlangıç zamanını çıkar.Aradaki fark, süreceği zamandan büyükse işlem bitmiştir de.Eğer küçükse js ile sayacı geriye doğu saydırırsın.
Böylece ne zaman açarsan aç güncel olarak şimdiki zaman üzerinden hesaplıyacağı için istediğine ulaşırsın. - 15-06-2009, 17:18:56Üyeliği durduruldumantığın yanliswebadam adlı üyeden alıntı: mesajı görüntüle
tabloya kalan süreyi kaydetmemelisin
mesela şu anki zamani aldin diyelim time() değeri ile
8 saat sonrasini yazmalisin tabloya
time() + 28800
ü yani
sonrada alan < time() kontrolü yapmalisin
javascript ile gösterikende sayfada bu değerin başlangıç süresini
alan - time()
den almalisin
