Hocam her sayfada include'lu bi sayfadan bahsettim ya o sayfada.. kişinin session değerini uyeler tablosunda sorgulayıpsonhar diye bi field'ına rs =now rs. updateyapıyorsun.. Bunu her sayfada include'lu bir sayfada yapman adamın her sayfa değiştirdiğinde o zamanı kaydetmen için nemli.. Online kişiler yerinde de "Select username, id from uyeler where sonhar <= dateadd(n, -10, now "şeklinde gstereceksin.. Yani 10 dakika ya da 10 dakikadan nce herhangi bir harekette bulunmuş üyeleri listeleyeceksin.. Bu sayede adam çıkış yapmayıp sayfayı kapatsa da en geç 10 dk içinde listeden silinecek.. Peki çıkış yapsa dahi hemen listeden silinmeyecek mi diye sorarsan.. Silinecek! Çıkış sayfasında adamın sonhar fieldınars = dateadd("n", -11, now rs. updateyapacaksın.. Yani adamın son hareket zamanını 11 dk ncesine alacaksın.. Sen de 10 dakika içindekileri listelediğin için adam listeden silinmiş olacak.. Peki adam siteden çıkış yapmadı, sayfayı da kapatmadı, hiç bi işlem yapmadan herhangi bi sayfada duruyor.. O zaman nolcak dersen.. en geç 10 dk içinde listeden silinecek.. Bunu diğer üyeler grebilecek ama kendisi gremeyecek.. Çünkü en son baktığında kendi listedeydi..10 dk hiç bi işlem yapmadı, yani sayfa değiştirmedi haliyle online kişilerin gründüğü sayfada refresh yapılmadı.. Adam hala kendisini listede grüyor.. Şimdi sayfayı refresh yaptı diyelim. Hala listede olacak.. çünkü sayfayı refresh yaptığı anda ust. asp'deki seninrs = now rs. updatekomutu çalışacak ve adam listeye girmiş olacak.. Abi cookiler ile uğraşma bence.. Üyenin müdahale edebileceği hiç bir şey kullanma ama sen bilirsin tabi..

bu ne? yıkılma sakın!

Hoca sen bi hata yapmadığına emin misin?Ust. asp'yi giriş sayfanı, çıkış sayfanı bi de profil sayfanı gnder de bi bakalım.. MSN adresimi pm attım

Peki hocam üye sayfa değişmedi diyelim asp sunucu istemci mantığı ile çalışıyor biliyorsun, 10 dakika aynı sayfada kaldı sayfayı kapamadı veya çıkış yapmadı ama senin mantığına gre offline oldu ne olcak şimdi?online. asp gibi üyenin son giriş zamanını belirli aralıklarla güncelleyen bir sayfayı incule edip ve Iframeleyip ya da bulunduğu sayfayı refresh yapıp üyenin canını da sıkmak istemiyorsam?Veritabanına değil de session mantığına bağlı kalmak istiyorsam?

Hmm peki hocam adam çıkış yapmadan pencereyi kapatırsa nolacak?Herifin biri online oldu, çıkış yapmadan pencereyi kapattı, onoff field'ı 1 olarak kaldı..1 ay sonra bile baktığında adam online olarak gzükecek.. Sence bu mantıklı olur mu? Olmaz!! Bu online offline işini ya global. asa ile yapacaksın ya da kişinin son hareket saatini kaydederek halledeceksin.. Global. asa'ya pek güvenmiyorum ben kişinin son hareket saatini kaydederek yapıyorum. rnek kod yazayım mı?

Neyse zamanım varken yazayım da rnek kodu, sonradan nolur nolmaz :) Abi şimdi sen asp ile yaptın ya bu siteyi, her sayfada include'lu bir sayfan vardır, mesela ust. asp gibi.. yoksa da oluştur.. İçine logonu falan koyarsın, bu işlemleri de o ust. asp gibi her sayfada include'lu olan ve ilk açılan sayfada yapıcaz.. :)Şimdi ust. asp olduğunu farzedelim.. Ust asp'de veritabanına bağlanıp uyeler tablosunda kişinin session'unu sorgula.."Ulan bi online işi her sayfada veritabanına mı bağlanayım?" diye bişe düşünüyosan; avantajlarını syleyim:1 - Online offline işi garanti olacak2 - Sitende banladığın kişi anında siteden pasif olacak, hiç bi sayfa gezemeyecek3 - Sitende "kim hangi sayfada" gibi bişe yapabileceksin.. Bu yukardakileri elde edebileceğini, hatta isteğine gre daha fazlasını da elde edebileceğini düşününce veritabanına bağlanmak ve sorgular yapmanın gereksiz olmadığını anlayacaksın.. ncelikle yukarıdaki 3 şeyi de yapacağını farzederek kodları yazıyorum.. Ust. asp'yi her sayfada include ettin ya, mesela default. asp'de ilk başta include file="ust. asp" deme.. nce <%sayfa_adi = "Anasayfa"%>include file = "ust. asp"şeklinde yap, yani ust. asp'nin kodları işlemeden nce, sayfanın ne olduğu belli olsun.. Uyeler tablosuna : sonhar, banli, nerede diye 3 tane field aç.. sonhar : uzun tarihbanli : true/falsenerede : metinolacak.. ncelikle veritabanına bağlan, ust. asp'de'db bağlantısısql = "Select sonhar, nerede, banli from uyeler where username = ' " & session & " ' "' recordset aç Şimdi adamın seçtiğimiz bilgileri karşımızda.. ncelikle banlı olup olmadığını kontrol e, banlı değilse sonhar fieldını now olarak neredetif rs = 1 thenresponse. write "Banlanmışsın, hadi şimdi siktir gir"response. endelsers = now if not sayfa_adi="" thenRs = sayfa_adiend ifrs. updateend ifrs. closeset rs = nothingŞimdi naptık hoca biz, nec banlı mı diye kontrol ettik, banlıysa yazı yazdık işlemleri durdurduk, banlı değilse son hareket zamanını ve hangi sayfada olduğunu veritabanına kaydettik.. Bu sayede banladığın kişi hiç bir sayfayı gezemez, olduğu yere gmülür.. Ban işi tamam şimdi online/offline olayıyla, Kim Hangi Sayfada olayı kaldı.. Şimdi giriş sayfasına aynı şekilde, rs = now rs. updatediye bi kod yazÇıkış sayfasına da (10 dk sitede durmayanları sileceğini düşünerek yazıyorum)rs = dateadd("n", -11, now rs. updateOlayın mantığını anlamışsındır.. Çıkış yapan adamın sonhar blümünü şimdiki zamandan 11 dakika ncesi olarak update ettik.. Online Kişileri gsterirken de Sonhar fieldı Son 10 dakikadan büüyk olanları gstericez, bu sayede çıkış yapan adam anında listeden silinecek, çıkış yapmadan pencereyi kapatan en geç 10 dk içinde silinecek, sayfa açıkken, hiç bi işlem yapmayan da 10 dk sonra silinecek ama herhangi bir sayfa değiştirdiğinde online kişiler listesine tekrar girecek.. Yani kendisinin listede olmadığını gremeyecek.. çünkü bunu grmesi için refresh yapması lazım.. Refresh yapınca da zaten online kişiler listesine girecek çünkü sonhar fieldı now olarak kaydedilecek ve biz sonhar fieldı 10 dakika ncesinden küçük olanları çekiyoruz.. Online kişileri gsterdiğin yerde alttaki sql yeterli olacaktır:sql = "Select username, id from uyeler where sonhar <= dateadd(n, -10, now " Kim Hangi Sayfada blümü için ise;Biz her sayfada sayfa adını kaydediyoruz ya meselasayfa_adi = "Anasayfa"ya dasayfa_adi = "Forum <%=vs %> konusu" gibi.. Heh, yani adamların nerede blümleri sayfa gezdikçe o sayfa adıyla update ediliyor.. Kim Hangi sayfada blümü için desql = "Select username, id, nerede from uyeler where sonhar <= dateadd(n, -10, now "sql'i yeterli olacaktır.. Yani ne yapmış olduk.. Kim hangi sayfada blümüne girenler şu an online olan ve herhangi bir sayfada bulunan kişileri grmüş olacaklar.. Adam herhangi bir sayfada iken pencereyi kapattı diyelim, en geç 10 dk sonra online listesinde de, Kim Hangi Sayfada listesinde de grünmeyecek ama nerede field'ı o pencereyi kapattığı anki sayfa olarak kalacak ama sorun yok.. Bu kişi siteye tekrar girmezse zaten listede grünmeyecek, girerse de giriş sayfasından sonra ilk ulaştığı sayfa default. asp gibi bi sayfa olacağı için nerede field'ı direk Anasayfa olarak update edilecek.. Sen sadece online offline konusu yazdın ama bu online offline olayının en şaşmazı veritabanı ile yapılan.."Ben bi online offline olayı için veritabanına bağlanmam" dersin diye de bu bağlantı ile online offline dışında daha neler yapabileceğine rnek vermek için yazdım diğerlerini.. İşine yarar umarım.. Bu arada ayzdıklarımı okumadan gnderiyorum, hatalar olabilir

evet tbt de güzel paylamşımların dewamını diliyoruz tahribat.com a can feda

alp hocam şimdi songiris diye bi sutun açtım. oraya now ı kayıt ediyorum. ama bi türlü kullanıcının profili altında online mı offline mı olduğunu gsteremedim. <% songiris=soru2 simdiki = DateAdd("n" , -3, Now if songiris >= simdiki Then onlinemi = "<img src=""online. gif"" alt=""Üye şu an sitede"">" else onlinemi = "<img src=""offline. gif"" alt=""Üye şu an sitede değil.."">" end if%><%=onlinemi%> şle bişi yaptım ama hep kapalı gsteriyor :'( ühühühhühh :'( kelimeler albayım bazı anlamlara gelmiyor.

merhabalar cümletenaz nce kendi siteme yaptığım sistemi sizinle paylaşmak istedim, aslında basit bişiy forum filan gibi şeyler için gerekli olabülürüyenin online mı offline mı olduğunu gstercezncelikle db ye onoff diye bi sutun açıyoruz. sayı olarak belirliyoruz. sonra bunu <%Set foxxly = Server. CreateObject sor = "Select from uye Where uid = "&session foxxly. Open sor, Sur,1,3foxxly = 1foxxly. update%> üye giriş dosyasının içine koyuyoruzbunuda çıkış dosyasına koyuyoruz. <%Set foxxly = Server. CreateObject sor = "Select from uye Where uid = "&session foxxly. Open sor, Sur,1,3foxxly = 0foxxly. update%> db bağlantısını yapmayı unutmayın tabü :)sonramasına ; <% Set foxxly = Server. CreateObject sor = "select onoff from uye where kullaniciadi = '"&uye &"'" 'burasını kendinize gre düzenleyeceksiniz artık foxxly. Open sor, Sur,1,3%> <% if foxxly = "1" Then %>onLine<% else %> offLine<% end if %> diyerek üyemizin online mi offline mi olduğunu gstertiyoruz bu kadar =) kopiyrayt bay foksli :D kelimeler albayım bazı anlamlara gelmiyor.

cold-m4 bunu yazdı: saol hocam eline sağlık.. peyepe olsadı keşke, asp den hayır yok :) en azından bana :) bu arada nümüzdeki aylarda programlama dersleri veren bisite açıcam netogretim.com gibi, ama içi dolu olcak onun gibi boş olmıcak :) istersen asp dküman konusunda yardımda bulunabilirsin :D :Ctabi yaşarsam o zamana kadar :S hocam kendi siteme yazamıyom ki :) başkasitelere yazayım bu dkümanı kendi sitem için yazdım burada paylaşıyım dedim yaşarsın inşallah :) kelimeler albayım bazı anlamlara gelmiyor.

bu arada hocam, le hangi sayfada filan olayı gerekmez sadece profili altında online mı offline mı olduğunu yazdırmak yeterli benim için kelimeler albayım bazı anlamlara gelmiyor.

saol hocam eline sağlık.. peyepe olsadı keşke, asp den hayır yok :) en azından bana :) bu arada nümüzdeki aylarda programlama dersleri veren bisite açıcam netogretim.com gibi, ama içi dolu olcak onun gibi boş olmıcak :) istersen asp dküman konusunda yardımda bulunabilirsin :D :Ctabi yaşarsam o zamana kadar :S

zaman = rs if datediff("n", zaman, now <= 3 thenresponse. write "üye online"elseresponse. write "üye online değil"end ifşunu bi dene hoca..

sorun çzülmüştür alp hocama sevgi ve saygılarımı gnderiyorum :) şu kod online ve offline ı gsteriyor <%zaman = soru2 if datediff("minute", zaman, now <= 3 then%><%else%><%end if%> veritabanı uzun tarih olcakmış sakın unutmayın :) baştan sona kadar okursanız sorunsuz bi şekilde çalışacaktır " <= 3 " ü siz belirleyin artık ne kadar isterseniz kelimeler albayım bazı anlamlara gelmiyor.

Hoca adam 10 dakika aynı sayfada işlem yapmadan duruyorsa sittirin gitsin zaten:) Asıl o adamın online listesinde grünmesi hata olur.. Sayfa açıkken herhangi bi işlem yaptığında songiris field'ı now ile update olacağı için yine listeye girmiş olacak.. Ve nolursa olsun kişi site penceresi açıkken kendisini online listesinde grecek.. Şyle düşün.. Anasayfa'nın bir tarafında online üyeler grünüyor.. Adam giriş yaptı şu an online listesinde.. Sonra hiç bi işlem yapmadan beklemeye başladı, online listesinden düşmeyecek, çünkü hiç bir işlem yapmıyor, ilk grdüğü online listesi karşısında, sonra 30 dk sonra sayfayı yenileyeyim diyor, bi bakıyor hala listede, çünkü sayfayı yenilediğinde songiris field'ı now ile update oluyor ve online kişiler listesi refresh edilmiş oluyor.. Yani üyenin canını sıkmaya, frame ile refresh yapmaya falan gerek yok.. Session mantığına bağlı kalmak istiyorsan da global. asa ile yapacaksın bunu ama ben pek güvenmiyorum global. asa'ya, bazen sorunlar çıkarıyor..

abi bunda hep offline diyo, girş yapıyosun ama yine offline diyo sayfalarda gezityon yine offline kelimeler albayım bazı anlamlara gelmiyor.

salla asp yi :) Sorularınızı cilginsigortaci@gmail.com a yazabilirsiniz cevaplar facebook sayfasında >>> facebook.com/cilginsigortaci

alp hocam harbiden unutmuşsum onu :D hiç aklıma gelmedi walla. ama hocam senin yazdığın kodlarda ben online/offline olayını anlamadım neye gre çıkarıyosun on/off u db ye şimdiki zamanı kaydediyosun. yani sende çıkış tuşuna basmadan dbye işlemiyosun aklıma bi şey geldi acaba cookie ile olabilirmi bu iş?yani cookie ye yazdırcan online diye sonra bi süre sonra offline kelimeler albayım bazı anlamlara gelmiyor.