عرض مشاركة واحدة
عضو نشيط
تاريخ التسجيل: Jun 2006-
#1 (permalink)  
عدد الزوار المتواجدون الان وعدد زوار الموقع


السلام عليكم ورحمة الله وبركاته

في موضوع سابق شرحنا طريقة عمل عدد الزوار الكلي للموقع باستخدم ملف تكست txt
رابط الموضع السابق
http://www.swalif.net/softs/showthread.php?t=164190

اليوم ان شاء الله بنعمل عدد زوار الموقع الكلي باستخدام قواعد البيانات
بالاضافة لعدد الزوار المتواجدون في الموقع الان

عملنا سيكون في ملف
Global.asax
في الدوت نت 2003 يتم انشاء الملف بشكل تلقائي بينما في ال 2005 يجب عليك اضافته من اضافة عنصر جديد

اولاً:- عدد الزوار المتواجدون في الموقع الان
في ملف
Global.asax

في داخل الدالة
Application_Start

كود:
 Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

End Sub
وهذه الدالة يتم بنفيذها مرة واحده عند بداية تطبيق المشروووع في ال IIS
يعني عند تركيبه على السيرفر

نقوم بتعريف عدد الزوار المتواجدون الان بالشكل التالي
Application("ActiveVisitor") = 0

فيكون الناتج هو

كود:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application startup
        'تعريف عداد الزوار المتواجدين اون لاين
        Application("ActiveVisitor") = 0
    End Sub

الان عند دخول اي متصفح للموقع نقوم باضافة عدد واحد على عدد الزوار المتواجدون الان
وعند خروجة من الموقع نقوم بانقاص عدد واحد من عدد الزوار المتواجدون الان


في داخل الدالة
Session_Start
والتي يتم تطبيقها مباشرة عند دخول اي زااائر للموقع نقوم باضافة عدد واحد على عدد المتواجدون الان في الموقع بالشكل النالي

كود:
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
 'نزيد عدد واحد على عداد الزوار المتواجدون
        Application.Lock()
        Application("ActiveVisitor") = Application("ActiveVisitor") + 1
        Application.UnLock()
 End Sub

الدالة التي يتم تنفيذها عند خروح الزائر من الموقع هي
Session_End
فعند خروج المستخدم من الموقع نقوم بانقاص عدد واحد من عدد المتواجدون الان بالشكل التالي

كود:
 Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
'ننقص العدد واحد من عداد الزوار
        Application.Lock()
        Application("ActiveVisitor") = Application("ActiveVisitor") - 1
        Application.UnLock()     
    End Sub


الان في اي صفحة من صفحات المشروع نفسه نقوم بطباعة عدد المتواجدون الان في الموقع من خلال طباعة عددهم في داخل الابليكشن
Application("ActiveVisitor")
مثلا تضيف ليبل للعرض وتكتب فيه عدد المتواجدون الان
كود:
OnLine.Text = Application("ActiveVisitor")



ثانياً:- عدد الزوار الكلي
نقوم بعمل حقل في قاعدة البيانات في داخل اي جدول مثلا جدول الخاص بالمعلومات العامة بالموقع نقوم باضافة حقل لعدد الزوار الكلي

يتم اضافة عدد واحد على عدد الزوار الكلي للموقع عند دخول اي زائر للموقع
ففي دالة
Session_Start
ننفذ كود على قواعد البيانات
اولا نقوم بجلب العدد الموجود في حقل عدد الزوار الكلي
ومن ثم نضيف له عدد واحد
ومن ثم نقوم بتحديث الحقل في قاعدة البيانات ونزرع العدد الجديد به بالطريقة التاليه
كود:
 Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a new session is started
        
        'زيادة رقم واحد على عدد الزوار الكلي في الموقع

        Dim Con As SqlClient.SqlConnection = New SqlClient.SqlConnection
        Dim Cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand
        Dim Adap As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter
        Dim SQLStr As String
        Dim ConStr As String = ConfigurationSettings.AppSettings("ConnectionString")
        
        Con.ConnectionString = ConStr
        
        'جلب عدد زوار الموقع
        Dim DataSetSO As New DataSet
        SQLStr = "select HitCounter from MN_PublicOptions"
        Cmd.CommandText = SQLStr
        Cmd.Connection = Con
        Con.Open()
        Adap.SelectCommand = Cmd
        Adap.Fill(DataSetSO)
        Con.Close()
        
        Dim HitCounter As integer = DataSetSO.Tables(0).Rows(0)(0)

        'زيادة عدد زوار الموقع رقم واحد
        HitCounter = HitCounter + 1

        'اعادة تخزين عدد زوار الموقع الجديد في قاعدة البيانات
        SQLStr = "update MN_PublicOptions set HitCounter=" & HitCounter
        Cmd.CommandText = SQLStr
        Cmd.Connection = Con
        Con.Open()
        Cmd.ExecuteNonQuery()
        Con.Close()
        
        
    End Sub

في امان الله






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........

التعديل الأخير تم بواسطة : nothing4u بتاريخ 19-02-2007 الساعة 10:11 PM. سبب آخر: عدد الزوار المتواجدون الان وعدد زوار الموقع
nothing4u غير متواجد حالياً   قديم 19-02-2007, 10:08 PM
رد مع اقتباس