lostyazilim
tr.link

Php ziyaretçi algoritması oturum süresi nasıl hesaplanır?

6 Mesajlar 1.451 Okunma
acebozum
tr.link

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
İnternette araştırmama rağmen bulamadım
Tablo yapım

ziy_id, int( 11) ai
ziy_tarih varchar(70)
ziy_uye int(11) default null
ziy_url varchar(150)
ziy_ref varchar(255)
ziy_ua text //json formatta ülke,tarayıcı,os,ip vb bilgiler
ziy_oturum

tablo yapım bu
Burada ziyaretçi/üye her sayfa girişinde kayıt ediliyor. Burada yapmak istediğim şey üyenin /ziyaretçinin ne kadar sitede/sayfada kaldığı
Bunu nasıl yapabilirim :)
 

 

elektronikssl
webimgo

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
son oturum tarihinden ilk oturum tarihin farkını alırsan istediğini elde edebilirsin.

Yalnız kullanıcının her oturumunun unique bir değeri olmalıdır. Mesela

id, ip, tarih, deger
1, a, 21.12.2018 15:11, felancafilanca1
2, a, 21.12.2018 15:12, felancafilanca1
3, a, 21.12.2018 15:13, felancafilanca1
4, a, 21.12.2018 17:27, felancafilanca2
5, a, 21.12.2018 17:46, felancafilanca2


görüldüğü gibi a ip numaralı ziyaretçi 21.12.2018 tarihinde farklı iki zamanda girmiş.
15:11 - 15:13 aralığında 2 dakika
17:27 - 17:46 aralığında 19 dakika kalmış oluyorum. Toplamda 21 dakika.

Umarım açıklayıcı olmuştur.
 

 

www.ontedi.com
www.cizgi.site

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

ontedi adlı üyeden alıntı

son oturum tarihinden ilk oturum tarihin farkını alırsan istediğini elde edebilirsin.

Yalnız kullanıcının her oturumunun unique bir değeri olmalıdır. Mesela

id, ip, tarih, deger
1, a, 21.12.2018 15:11, felancafilanca1
2, a, 21.12.2018 15:12, felancafilanca1
3, a, 21.12.2018 15:13, felancafilanca1
4, a, 21.12.2018 17:27, felancafilanca2
5, a, 21.12.2018 17:46, felancafilanca2


görüldüğü gibi a ip numaralı ziyaretçi 21.12.2018 tarihinde farklı iki zamanda girmiş.
15:11 - 15:13 aralığında 2 dakika
17:27 - 17:46 aralığında 19 dakika kalmış oluyorum. Toplamda 21 dakika.

Umarım açıklayıcı olmuştur.

Hocam sıkıntı ip adresiyle alırsam üyeye göre aktiflik sorgusu sorun olmaz mı?
Yani 10 idli üye ip 123.0.1.0 32 idli üye ipside aynı gelirse (çok düşük bir olasılık ) sorun olmazmı?
2.ben bir session oluştursam bu sessionda her 3dk da bir ajaxla sorgu göndersem uygun olur mu?

if(in_array($_POST["ziyaret"],$_SESSION["ziyaret"]))
{
//Oturum süresi güncelle
}
else{

$sorgu=$vt->prepare("insert into ziyaret_tablo set ziy_url=:url and ziy_ip=:zip");
$sorgu->execute(array("url"=>$_POST["ziyaret"],"zip"=>$_POST["ziyaretip"]));
if($sorgu->rowCount()>0)
{
//Session ekle
}else
{
//hata
}
}
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
O yüzden oturum açan kişinin ip kısıtına bakma. Çünkü aynı ağı kullanan birçok ziyaretçi/üye sisteme giriş yapabilir. Oturum açanı tarayıcı,ip,çözünürlük gibi farklılık teşkil eden etmenlerle ayırmaya çalış. Yada basit mantıkla cookie ile kişinin doğruluğunu teyit edersin.

3 dakikada bir ajax ile yapman sorun teşkil etmez.
 

 

www.ontedi.com
www.cizgi.site
wmaraci
wmaraci

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Ip kısıtı derken şu, seninle ikimiz aynı ağdan wmaracına bağlanıyoruz diyelim. Bizim ip adresimiz aynı olarak görür wmaracı. Dolayısıyla ikimizi bir kişi gibi sayar senin sayacın. Oysa ikimiz farklı iki kişiyiz.
 

 

www.ontedi.com
www.cizgi.site

BackendDeveloper BackendDeveloper Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 19.12.2018
  • Yaş/Cinsiyet 41 / E
  • Meslek Backend Developer
  • Konum Antalya
  • Ad Soyad İ** D**
  • Mesajlar 85
  • Beğeniler 6 / 28
  • Ticaret 0, (%0)

var start, end, timeSpent;

$(document).ready( function() {
var dStart = new Date();
start = dStart.getTime();
});

$(window).unload(function() {
var dEnd = new Date();
end = dEnd.getTime();
timeSpent = end - start;
$.ajax({
url: 'timer.php',
type: 'POST',
async: false,
data: {
timeSpent: timeSpent
},
success: function(){
console.log('y');
}
});
});


Bu sekilde bir kod blogu ile onload ettiği anda süreyi sonlandirip sitede harcadigi sureyi hesaplayabilirsin
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al