Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-01-16, 23:02:39 Mesaj konusu: |
|
|
Tekrar merhaba arkadaşlar. Az çok bişiler inceledim ve Session tablosundan kullanıcıları çekmekte problem olduğunu gördüm. Forumun online kullanıcılar bölümünde time() - 300 kullanılmaktadır. Ama bloklarda bu 300 rakamı 900 bazen de 86400 gibi rakamlar oluyor. Bu ne demek oluyor? Neden iki yerde farklı kullanıcılar gözüküyor? Bunların cevabı şu.
Aslında solda yazan üye sayısı da doğru bi bakıma. Çünkü Sol tarafta son "900" sn çıkış yapmamış ama sayfaları da gezmeden duran üyeler duruyor. Forum bölümünde ise "300" sn içinde gezinti yapan aktif üyeler ve ziyaretçiler bulunuyor. Eğer ki blok dosyasını açıp ordan time() fonksiyonunu bulursanız karşısında - 900 gibi bi rakam duruyor olacaktır. Onu 300 yaptığınız takdirde forum ile aynı verileri gösterecektir. Yada forumdaki time() - 300 ü 900 yaparsanız blokun istatistikleri forumdaki online bölümünde gözükecektir.
Yani anlatmak istediğim şey kısaca şudur: İkisi de bir bakıma doğru. Biri son 15 dk içinde aktif üyeleri gösterirken diğeri 5 dk içindekileri gösteriyor. Siz hangisini tercih ediyorsanız onu yazın.
time() - 300 = Son 5 dk
time() - 900 = Son 15 dk
Bunu dilediğiniz kadar da uzatabilirsiniz.
1 = Saniye
60 = Dakika
3600 = Saat
86400 = Gün
604800 = Hafta vs...
Umarım biraz da olsun açıklayıcı olmuştur. Saygılar... |
|
Başa dön |
|
|
Bu Site Google Adsense ile Gelir Elde Ediyor
|
Tarih: 2024-06-14, 12:23:00 Mesaj konusu: Forum Arası Reklamlar |
|
|
|
|
Başa dön |
|
|
ultrAslanYavuz Tema Sorumlusu
Kayıt: Jun 25, 2006 Mesajlar: 1217
|
Tarih: 2007-01-17, 04:18:01 Mesaj konusu: |
|
|
PhP_CoDeR kardes tamam dediğin gibi forumdaki session zaman takibiyle blocktaki session zaman takibi bir birinden farklı olabilir
fakat hocam benim aklım hala şu forumdaki 1 kişi görünmesi gerektiği eklentide |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-01-17, 12:38:00 Mesaj konusu: |
|
|
PHP-Nuke de bu sayılar nuke_session adlı tablodan alınıyor.
Forumunda ise bu online sayıları nuke_bbsession adlı tabloadan alınıyor.
Buraya kadar problem yok sanırım.
Blokta veri şu şekilde alınıyor.
Normal site ziyaretçi ve üyeleri:
select count(*) from nuke_session where guest='1'; //Üye olmayanları say.
select count(*) from nuke_session where guest='0'; //Üye olanları say.
Bu veriler time()-1800 süresi boyunca saklanıyor.
Forumdaki kullanıcılar ise
select count(*) from nuke_bbsessions; //forumdakileri say.
şeklinde sayılıyor ve bu sayıda siteyle aynı zaman kadar yani time()-1800 kadar saklanıyor.
Blokta gösterim bu şekildedir. Peki forumda nasıl bir eklenti yaptım.
Foruma giren herkesin bir IP si var. Bu IP lerden aynı olanlar (yahoo botları ve google botları bir isme sahip. Bu isme sahip olanları forumda online olarak gösterme. ) varsa onları sayma. yani DISCOUNT. Ayrıca foruma giren üyeler ve ziyaretçiler time()-300 kadar saklansın. Yani 5 dk içinde foruma girmiş ancak işlem yapmayanlar forum session tablosundan çıkarılsın. Forumda tekrar dolaşmaya başlarsa bunun için yeni bir session oluşturulsun.
viewonline sayfası bu eklentiye göre çalışır. Bunu neden böyle yaptım. Bunda sizin mantık aramanıza gerek yok. Çünkü o sayfayı benden ve birkaç kişiden başka kim ziyaret ediyor ki! Bizim için önemli olan 5dk içinde forumda gezenlerin görülmesi. 5dk içinde hiçbir aktivitesi olmadıysa bu kişi gözükmesin. Bu yaptığımın bir kısmı zaten forumun kendisinde vardı. Ben sadece biraz düzenleme yaptım. Eğer time()-300 süresini blokla aynı seviyeye getirirsem blokla aynı değeri gösterecektir. Üstelik eklentiyi de kaldırırsam blokla arasında hiçbir problem olmayacak.
Herhangi bir problem yok aslında. Dediğiniz eklenti de süre kısıtlaması var mı bir inceleyin. Genelde session süresini time() süresi kadar tutmak iyidir. Ancak nuke vb sistemlerde session diğer bir sayfaya aktarılamazsa problem yaşanacaktır. İşte session diğer sayfaya aktarım problemi olmasın, SQL sorgu sayısı azalsın diye bir mantık yürütülüyor. Bunu forumun includes klasöründeki dosyalarını inceleyerek görebilirsiniz. Forumdaki veriler includes klasörüne göre şekillenir.
c o o k i e yerine session kullanmak çoğu zaman daha güvenlidir. İkisini beraber kullanmak yada kullanmamak size kalmış. nuke c o o k i e kullanıyor, forumun büyük bölümünde session tekniği bulunmaktadır.
http://tr2.php.net/manual/en/ref.session.php |
|
Başa dön |
|
|
ultrAslanYavuz Tema Sorumlusu
Kayıt: Jun 25, 2006 Mesajlar: 1217
|
Tarih: 2007-01-17, 13:05:49 Mesaj konusu: Re: Netopsiyon yönetimine bir duyuru |
|
|
bu tatmin edici bir cevab olmadı Aliosman kardesim eklentinin hiç bir anlamı yok eger eklkenti anlattıgın düzen üzerinden işliyorsa..
bu konunun sonuda gelmez sanırım
birilerini kırdım yada incittimse affola
amacım dediğim gibi kimseyi karalamak yada suclamak değil..
herkese kolay gelsin |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-01-17, 13:19:58 Mesaj konusu: |
|
|
Çok fazla tekniğe girmeden anlattım. İsterseniz 2-3 sayfa teknik olarak anlatayım olur mu?? |
|
Başa dön |
|
|
yenibir Mesaj: 500+
Kayıt: Nov 08, 2005 Mesajlar: 757 Konum: Sivas
|
Tarih: 2007-01-17, 13:43:59 Mesaj konusu: |
|
|
yavuzbey :
|
bu tatmin edici bir cevab olmadı Aliosman kardesim
|
Aliosman :
|
Çok fazla tekniğe girmeden anlattım. İsterseniz 2-3 sayfa teknik olarak anlatayım olur mu??
|
Hiç bir Webmaster Yaptığı Eklentileri Teşhir Etmek Paylaşmak Açıklamasını yapmak Zorunda Değildir
Aliosman Şuanki Konumu itibariyle Webmaster Hocası !
Sen ben o ve Diğerleri bilgilerinden yeterince istifade Ediyoruz
teknik Olarak tatmin Olabilmek İçin teknik olarak Aliosmanla Aynı Düzeyde olman gerekiyor
Yinede Sizi Kırmamak Bilinçlendirmek için Açıklama Yapmış
Tam olarak Anlamadıysanız Anlayana kadar Anladığınız Kadarıyla yetinin
Yada kendinizi Yetiştirip ne Demek istediğini tam olarak Anlayın ... |
|
Başa dön |
|
|
ultrAslanYavuz Tema Sorumlusu
Kayıt: Jun 25, 2006 Mesajlar: 1217
|
Tarih: 2007-01-17, 16:39:42 Mesaj konusu: |
|
|
peki siz benim webmaster hocası olmadığımı nereden biliyorsunuz. |
|
Başa dön |
|
|
pusulu Mesaj: 500+
Kayıt: May 07, 2006 Mesajlar: 916 Konum: İstanbuL
|
Tarih: 2007-01-17, 16:46:34 Mesaj konusu: |
|
|
ya bısey merak edıyorum yanı ılakın yandakı sayılarla forumun tutması sartmı kardesoö kendın bıle hergun bu sıteye gelıyosun geldıne gore bunları onemsememen lazım bu sıtede sorularına cvp verılıyomu o onemlı yanı gereksız seylerın pesındn gıdıyosunuz |
|
Başa dön |
|
|
Bu Site Google Adsense ile Gelir Elde Ediyor
|
Tarih: 2024-06-14, 12:23:00 Mesaj konusu: Forum Arası Reklamlar |
|
|
|
|
Başa dön |
|
|
yenibir Mesaj: 500+
Kayıt: Nov 08, 2005 Mesajlar: 757 Konum: Sivas
|
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-01-17, 18:35:44 Mesaj konusu: |
|
|
Kim webmaster hocası kim değil, bilgileri paylaşıp paylaşmaması da sorun değil ama arkadaşımızın kafasına bi soru takılmış ve webmaster hocası olmasa bile bunu çözmek istemiştir. Yapılacak en iyi şey herkesin anlayacağı şekilde konuyu çözmektir. "yenibir" senin dediklerine katılmıyorum. Senin yaptığın tek şey Aliosman dışında herkesi küçümsemektir. Buraya gelenlerin çoğu daha php ye yeni adım atanlardır. Konuyu onların anladığı şekilde anlatmak daha iyi olur. Kendilerini geliştirip Aliosman ile aynı dereceye gelmelerini beklersek işimiz var demektir. Lütfen buranın Nuke konusunda acemi olanların YARDIM aldığı bir portal olduğunu unutmayın. Bilgilerinden yeterince istifade etmek pek yakışmadı. Böyle bir site açtıysa eğer zaten bu sorumluluğu yüklenmiş demektir. Her zaman basitçe hatalar da gelmeyebilir foruma. Bu tür konuları da aydınlatmak gerekir. Unutmayın Bilgi Paylaştıkça Çoğalır. Azarlamakla değil!!
forum viewonline kısmında tek bir ziyaretçinin gösterilmesinin nedeni sqlde sessions tablosuna değer girilince session_user_id bölümüne -1 değer atanıyor. Tüm ziyaretçilerin değeri -1. viewonlineden tek bir ziyaretçi görmenizin nedeni bu işte. -1 olan herkesi tek bir ziyaretçi olarak görüyor. Sol tarafta ise bu öyle değil: Hepsi alınıyor.
Size daha önce de dediğim gibi sağ taraf ta forum kısmı da yanlış değil. Farklı göstermelerinin nedeni, Aktiflik süresi olmasıdır. Sol tarafta 15 dk olan aktiflik süresi forum kısmında 5 dk. 15 dk içinde aktif olan herkes sol tarafta gözükmektedir. Forum kısmında ise son 5 dk aktif olan yani daha az kullanıcı sayısı.
Bunu çözmenin tek yolu bankaların kullandığı sistemi nukeye uyarlamak. Bu konuyu akşama doğru daha detaylı bir şekilde açacağım. Herkese fikirlerini paylaştıkları için teşekkür ederim...
Saygılarımla... |
|
Başa dön |
|
|
ultrAslanYavuz Tema Sorumlusu
Kayıt: Jun 25, 2006 Mesajlar: 1217
|
Tarih: 2007-01-17, 18:39:24 Mesaj konusu: |
|
|
yenibir :
|
yavuzbey :
|
peki siz benim webmaster hocası olmadığımı nereden biliyorsunuz.
|
Polemiğe Girmek istemem Ama Yazdığınız Mesajlar Bana Pekte Webmaster Hocası Olduğunuz izlenimini Vermedi
En Basit Örneği ;
http://eski.netopsiyon.com/modules.php?name=Forums&file=viewtopic&p=161330
|
arkadaşım yavuzbey kullanıcı adını 2 kişi kullanıyor.şu anda yazan mesajı başlatan kişiyim.
Kod:
|
<?php
$vtmisafir = "15";
$saat = date("H");
// burada varsayalımki veri tabanından gelen misafir kontrolunde 15 misafir var sitede ve saatin degeriinde saat isimli değişkene aldık şimdi bir random sayı döndüreceğimiz kodu yazıyoruz
srand((double) microtime()* 10000000);
if(($saat>=01) && ($saat<=05))
{
$misafirler = rand(30,50);
}elseif(($saat>=06) && ($saat<=13))
{
$misafirler = rand(100,120);
}elseif(($saat>=14) && ($saat<=17))
{
$misafirler = rand(150,170);
}else{
$misafirler = rand(180,200);
}
$onlineuye = "20"; // varsayalım veritabanında sessionu açılmış 20 tane uye var
// şimdi gelelim bunu ekrana yazdırmaya
$toplammisafir = $vtmisafir+$misafirler;
echo "Toplam Üye : 26855<br>";
echo "Aktif Üye : ".$onlineuye."<br>";
echo "Aktif Ziyaretci : ".$toplammisafir."<br>";
echo "Forumlarda : ".$misafirler;
?>
|
bu koddan itibaren ise webmaster hocam mesajıma destek verdi.kendisinn zamanı yoktu üyelik aktivasyon linkini beklemedi.bende kendi k.adı ve şifremi verdim.en basit acıklaması bu.
eğer konu ile ilgili bir bilgin varsa söylersin.eğer bir bilgin yoksa mesaj yazmak zorunda değilsin.konuyu dağıtmanın bir anlamı yokkk |
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-01-17, 20:30:23 Mesaj konusu: |
|
|
Arkadaşlar nihayet araştırmalarımı tamamladım ve bu işi nasıl çözebileceğimi buldum. 1-2 güne kadar bitecek çalışmamı biraz anlatayım.
Şimdi nukeye yeni bir eklenti kuracağım. O eklenti sayesinde online kullanıcılar kesinlikle belli olacak. Her 5-10 sn de sessiondaki kaydını otomatik olarak güncellemesi ile Online olduğu belli olacaktır. Yani Aktiflik süresi online oldukça 5 sn olacaktır. Nukenin 300-900 ve daha fazla olan zaman sınırını 20 sn gibi bişey yapacağız. Kullanıcı çıktığı zaman artık güncelleme olmadığı için 5-10 sn olan süre artacaktır ve 20 sn ye geldiğinde Nuke sistemi tarafından session kaydı silinecektir. Böylece Session tablosunda en son güncelleme süresi max 20 sn olan kullanıcılar dışında kimse kalmayacaktır kimin online olduğu kesinlikle anlaşılacaktır. Projemi tamamladığımda Netopsiyon Dosyalar bölümünde yayınlayacağım.
Saygılarımla.... |
|
Başa dön |
|
|
aytugakdogan Mesaj: 500+
Kayıt: Oct 10, 2006 Mesajlar: 564 Konum: İstanbul
|
Tarih: 2007-01-18, 00:46:06 Mesaj konusu: Re: Netopsiyon yönetimine bir duyuru |
|
|
ve böylece sorun çözülecek |
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-01-18, 16:53:05 Mesaj konusu: |
|
|
Evet arkadaşlar nihayet dün akşam eklentiyi hazırlayabildim. Dosya Linki şu: http://w10.easy-share.com/795443/1169128395-31812be00af019dc2b358ebad688d6f1 Netopsiyon yönetimi de isterse bir test etsin ve uygun görürse Dosyalar bölümüne koysun...
Şimdi bununla sitenizdeki online kullanıcıları ve ziyaretçileri gerçek zamanlı öğrenebilirsiniz. Son 1 saat, 15 dk, 5 dk gibi saçma uygulamalar artık olmayacak. Kullanıcı çıktığı andan 30 sn sonra siteden online listesinden çıkacaktır.Aktif değilse bile sitede olduğu belli olacaktır. Modülün kurulumu dosyanın içinde yazıyor. Eğer harfiyen uygularsanız sorun çıkmayacaktır. Ama sakın unutmayın modülü upload ettikten sonra mutlaka yönetici bölümünden hem aktif hem de Görünmez olmasını sağlayın.
Saygılarımla.... |
|
Başa dön |
|
|
aytugakdogan Mesaj: 500+
Kayıt: Oct 10, 2006 Mesajlar: 564 Konum: İstanbul
|
Tarih: 2007-01-18, 19:16:05 Mesaj konusu: Re: Netopsiyon yönetimine bir duyuru |
|
|
güzel paylaşım oldu eyw. Php_Coder.. |
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-01-18, 19:21:49 Mesaj konusu: |
|
|
Ah bi de kullansan daha güzel bi paylaşım olacak da nerdeeee. :) |
|
Başa dön |
|
|
ultrAslanYavuz Tema Sorumlusu
Kayıt: Jun 25, 2006 Mesajlar: 1217
|
Tarih: 2007-01-19, 21:30:22 Mesaj konusu: |
|
|
evet kardeşim.sorunsuz calısıyor.ancak kurul dosyasındaki
echo "<i f r a m e src=\"http://localhost/phpnuke/modules.php?name=Refresh_Online\" width=0 height=0 frameborder=0></i f r a m e>";
yazısını değiştirsen daha iyi olur.
echo "<i f r a m e src=\"modules.php?name=Refresh_Online\" width=0 height=0 frameborder=0></i f r a m e>";
böyle daha iyi
teşekkür ederim calısman için.umarım netopsiyonda bunu kullanır |
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-01-19, 23:13:33 Mesaj konusu: |
|
|
Hım sağol dostum değiştirdiğimi sanıyordum demek ki localhostta duranı değişmişim ziplediğim dosyayı değil:)
Buyrun Yeni Link : http://w10.easy-share.com/804089.html |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-04-18, 11:03:28 Mesaj konusu: |
|
|
Bu Script çok fazla MySQL sorgusu kullandığından ötürü sizin hostunuzdan atılmanızı sağlar. Bu nedenle kullanmayın. |
|
Başa dön |
|
|
aytugakdogan Mesaj: 500+
Kayıt: Oct 10, 2006 Mesajlar: 564 Konum: İstanbul
|
Tarih: 2007-04-19, 19:38:57 Mesaj konusu: Re: Netopsiyon yönetimine bir duyuru |
|
|
duydun mu php_coder |
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-06-05, 18:55:55 Mesaj konusu: |
|
|
Aliosman, eğer bahsettiğin host beş para etmiyorsa evet atılmanızı sağlar. Fakat burda kullanılan SQL komutu ağır değil. Ne sunucuyu ne de ziyaretçinin bilgisayarını ağırlaştırır. İnanmıyorsan gel deneyelim.
+
Aytug, gereğinden fazla gereksiz biri olmaya başladın DİKKAT ET! (Bu sefer insaflı davranmam!). |
|
Başa dön |
|
|
serserialper21 Mesaj: 1000+
Kayıt: Jan 02, 2006 Mesajlar: 1660 Konum: Diyarbakır
|
Tarih: 2007-06-05, 19:09:12 Mesaj konusu: |
|
|
Eğer sisteminiz üzerine büyüm umutlar baglamıssanız bnları goz onunde bulunduracaksınız artık 30 ytl'ye host alıp'ta bunu 1 yıl boyunca kesintisiz kullanmak biraz zor en başta seçeceğiniz firmayı tanıyacaksınız.
Sadece MySql hizmet veren bir server kullanıyorum herkesede tavsiye ediyorum hem sisteminiz üzerinden sql hizmeti veren txt yaz dizinlerini çok erken acıyor hemde cpu'yu tavan yapmıyor cpu'nun birden tavan yapma sebepleri MySql ile sınırlı kalamaz config dosyamda bulunan ayarlarda "localhost" yazan bolge de localhost yazmıyor yani yonlendırme yaptık.
Diyeceğim oki hedeflerınız büyük ise Dedicated sunucu sizlere tavsiyem |
|
Başa dön |
|
|
PhP_CoDeR Mesaj: 200+
Kayıt: Oct 28, 2003 Mesajlar: 299
|
Tarih: 2007-06-05, 19:28:26 Mesaj konusu: |
|
|
Sonuçta burda yüzlerce tablodaki binlerce veriyi aynı zamanda sorgulayan bir sistemden söz etmiyoruz. Bu çok basit bir sistem üstüne kurulu tabi bunu kurduysanız anlarsınız. Ama eğer ki yine de ağırlaştırıyor diyorsanız sorun sizden yada sitenizin başka bir yerinden kaynaklanıyordur.
Ayrıca bu gibi durumlarda external sql kullanmanızı ben de kesinlikle öneriyorum. |
|
Başa dön |
|
|
|