• 30-12-2008, 19:50:35
    #1
    <%
    kimdir = Request.Form("kimdir" )
    parola = Request.Form("parola" )

    set bakiniz = Bag.Execute("Select * from kullanici where kadi='"&kimdir&"' and pass='"&parola&"'" )
    If bakiniz.eof Then
    session("uyecim" )=""%>
    <script>
    alert('Kullanıcı adı veya parola hatalı!\n\nLütfen tekrar deneyiniz...' );
    history.back( )
    </script>
    <%Else
    if bakiniz("aktifmi" ) = "0" then
    session("uyecim" )=""
    %>
    <script>
    alert('Üyeliğiniz henüz aktive edilmemiş durumda!' );
    history.back( )
    </script>
    <%
    else
    session("uyecim" ) = kimdir
    set girdiya = Server.CreateObject("ADODB.Recordset" )
    Sql = "SELECT * FROM kullanici where kadi='"&session("uyecim" )&"'"
    girdiya .Open sql, StrCn, 1, 3
    girdiya ("online" ) = "1"
    girdiya ("songiris" ) = Now( )
    girdiya.update
    end if
    Bag.Close
    Response.Redirect("../" )
    %>
    <%
    end if
    bakiniz.Close
    Set bakiniz= Nothing
    %>

    Arkadaşlar bu şekilde adam giriş yaptı herşey normal şimdi bu adam üye girişi yaptı ve online=1 yani online durumu 1 oldu adam sitede tamam

    Şimdi adam sitede çıkış link tıklayınca tamam online=0 olacak ama bu adam çıkış linkine tıklamıyor direkt tarayıcıyı basıp kapatıyor ve online=1 olarak veritabanında hala çevrimiçi gözüküyor .

    Şimdi benim istediğim bu adam tarayıcısını kapatsa bile online=1 olan veritabanımdaki sütnu online=0 konumuna nasıl getirebilirim veritabanı olarak mysql kullanmaktayım. yardımlarınız için şimdiden teşekkür ederim.
  • 30-12-2008, 22:44:59
    #2
    Bunu yapma gibi bir imkanın söz konusu değildir. Fakat bu değil ki bu sorunu çözemezsin.
    Bu sorunu şu şekilde çözmelisin;
    Veritabanında online alanı yerine son giriş ve şuan ki tarihi yansıtan iki sütun olacak. daha sonra normal tarih arama koduyla bu ikisinin arasında ki süreyi aratıp sallıyorum son 5 dakika içersindekileri sayfaya yansıtacaksın..

    NOT: Burda dikkat etmen gereken nokta. Son giriş alanına giren now update kodunu tüm sayfalara koyman olacaktır. Çünkü kişi o sayfaya girdiğinde otomatik update etmesi gerekli
  • 30-12-2008, 23:19:54
    #3
    Peki hocam bir örnek verebilirmisin
    veritabanı olarak mysql kullanıyorum iki örnek tablo ile bana bir kod yazman münkünmü şimdiden teşekkür ederim.

    aslında örnek bir kod var ama mysqlda DateDiff çalıştıramıyorum bu yüzden mysql da bunu nasıl yapabilirim formülü çözemedim.
  • 31-12-2008, 14:48:52
    #4
    DATEDIFF mysqlde tabi ki kullanabilirsin. Örnek kodları googlede mysql DATEDIFF diye aratırsan çok rahatlıkla bulursun. Hemde açıklamalı şekilde bulacağın bu örneklerle DATEDIFF konusunuda çok rahatlıkla öğrenmiş olursun. Burdan direk vereceğim kod sizin için sadece bi ezber olur. Gelişiminize yardımcı olmaz..
  • 15-01-2009, 20:29:44
    #5
    Üyeliği durduruldu
    AmazonGenTR adlı üyeden alıntı: mesajı görüntüle
    Bunu yapma gibi bir imkanın söz konusu değildir. Fakat bu değil ki bu sorunu çözemezsin.
    Bu sorunu şu şekilde çözmelisin;
    Veritabanında online alanı yerine son giriş ve şuan ki tarihi yansıtan iki sütun olacak. daha sonra normal tarih arama koduyla bu ikisinin arasında ki süreyi aratıp sallıyorum son 5 dakika içersindekileri sayfaya yansıtacaksın..
    NOT: Burda dikkat etmen gereken nokta. Son giriş alanına giren now update kodunu tüm sayfalara koyman olacaktır. Çünkü kişi o sayfaya girdiğinde otomatik update etmesi gerekli

    Bu şekilde olabilir.. @AmazonGenTr nin dediği gibi..

    bu 5 dakikayı kısaltabilirsinde..
    veya ajax ile periodicalupdater koyup 3-5sn olarakta ayarlarsın ama sonuçta bu işlemi yaparsın.. sayfaların hepsine yerleştirmek yerine.. bu şekilde adam sayfayı açıp orada saatlercede beklese online görünür..

    bir ikinci yöntemde şu;

    body onload a js fonsksiyon ekleyip sayfa kapatıldığında bir popup ta çıkış işlemi yaptırabilirsin.. ancak blocker varsa bu pek işe yaramaz.. en güzeli @AmazonGenTr nin dediği yöntem.. çok güçlü bir sunucun varsa bunu 1 saniyedede kontol edebilirsin tabi updater ile.