طريقة عمل عداد زوار للموقع
السلام عليكم ورحمة الله وبركاته
هذه طريقة عمل عداد زوار كلي للموقع باستخدام ملف نصي
العداد يقوم بحسب كل زيارة للموقع على انها زيارة واحده - مثلا لو دخلت انت الموقع وتجولت فيه وتنقلت في كل صفحات الموقع
وبقيت ساعات طويله لن يحسب الا زيارة واحد لك وعند خروجك من الموقع نهائيا واقفال كل صفحاته ومن ثم العوده له من جديد فيحسب لك زيارة جديده وهكذا
العداد يعتمد على السيشن
Session
وعلى ملف نصي لتخزين عدد الزيارت فيه
بسم الله نبدأ
قم بعمل ملف نصي جديد في داخل مجلد الموقع سميه مثلا
وهذا الملف سوف يحتوي على رقم الزوار للموقع
الان نريد كل ما يدخل زائر جديد للموقع نروح لهذا الملف نجيب الرقم الموجود به اصلا
ومن ثم نزيد على هذا الرقم رقم واحد يعني لو كان 20 نعمله 21
وبعد هذا نرجع نخزن الرقم الجديد في الملف وهكذا يكون عندنا عدد الزوار داخل الملف
في ملف
وتحديدا في دالة بداية السيشن وهي الدالة التي يتم تطبيق محتواها عند دخول لك للموقع
يعني بداية جلستك في الموقع وهذه هي الدالة
كود:
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' هنا نكتب الكود
End Sub
راجع هذا الدرس عن السيشن
http://www.swalif.net/softs/showthread.php?t=159868
في داخل دالة تعريف السيشن نقوم اولا بفتح الملف النصي الخاص بعداد الزوار
بعد هذا نجلب الرقم الموجود فيه ونخزنه في متغير من نوع رقم
وبعد هذا نقوم بزيادة الرقم ومن ثم نعود ونخزن الرقم الجديد في الملف مرة ثانيه
هذا هو الكود
كود:
'جلب رقم عداد الزوار الموجود في ملف عداد الزوار HitCounter
'ومن ثم زيادة الرقم الموجود في الملف رقم واحد واعادة تخزين الرقم الجديد
'جلب عدد الزوار الموجود حاليا في الملف وتخزيه في متغير من نوع رقم طويل
Dim HitCounterR As New IO.StreamReader("C:\HitCounter.txt")
Dim HitCounter As Long = CLng(HitCounterR.ReadToEnd())
HitCounterR.Close()
'زيادة رقم واحد على المتغير الموجود بعدد الزواؤ
HitCounter = HitCounter + 1
'اعادة تخزين الرقم الجديد لعدد الزوار في الملف النصي
Dim HitCounterW As New IO.StreamWriter("C:\HitCounter.txt")
HitCounterW.Write(HitCounter)
HitCounterW.Close()
لاحظ اننا في هذا السطر
كود:
Dim HitCounter As Long = CLng(HitCounterR.ReadToEnd())
عرفنا متغير من نوع رقم طويل وقمنا بتغزين محتوى الملف في داخله
ولكن قبل التخزين قمنا بتحويل محتوى الملف لرقم لانه في الاصل يكون من نوع نص
حولناه باستخدام دالة التحويل
CLng
لاحظ كذلك في هذا السطر
كود:
Dim HitCounterR As New IO.StreamReader("C:\HitCounter.txt")
وفي هذا السطر
كود:
Dim HitCounterW As New IO.StreamWriter("C:\HitCounter.txt")
في الاول قمنا بقرائة الملف لاحظ مسار الملف هذا لازم تعدله لكي يتناسب مع مكان الملف على الجهاز
وفي السطر الثاني كذلك كتبنا في الملف ولازم تعدل المسار كذلك
الان يكون عندنا عداد الزوار جاهز في ملف نصي
نقوم بعمل صفحة جديده في موقعنا لعرض عداد الزوار مثلا نسميها
في حدث تحميل الصفحة نقوم بجلب عدد الزوار المجود في الملف النصي
تحديدا في دالة تحميل الصفحة
كود:
Private Sub Page_Load
نجلب عدد الزوار من الملف النصي
كود:
'جلب عدد الزوار الموجود حاليا في الملف وتخزيه في متغير
Dim HitCounterR As New IO.StreamReader(SitePath & "\HitCounter.txt")
Dim HitCounter As String = HitCounterR.ReadToEnd()
HitCounterR.Close()
الان عندنا عداد الزوار مخزن في متغير اسمه
تقدر تطبعه او تكتبه في المكان الي تحب ولكن الافضل اننا نرجع نرسم هذا الرقم على شكل صورة
راجع هذا الدرس لمعرفة طريقة الرسم
http://www.swalif.net/softs/showthread.php?t=162296
وهذا هو كود رسم العدد على شكل صورة
كود:
'عرض عداد الزوار باسلوب صورة مرسومه بشكل مميز
Dim imgNew As System.Drawing.Image = New Bitmap(1, 1)
Dim gc As Graphics = Graphics.FromImage(imgNew)
Dim font As Font = New Font("Verdana", 12, FontStyle.Underline)
Dim size As SizeF = gc.MeasureString(HitCounter, font)
Dim width As Integer = CType(size.Width, Integer) + 1
Dim height As Integer = CType(size.Height, Integer) + 1
imgNew = New Bitmap(width, height)
gc = Graphics.FromImage(imgNew)
gc.FillRectangle(Brushes.White, 0, 0, width, height)
gc.DrawString(HitCounter, font, Brushes.Black, 0, 0)
imgNew.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
لاحظ اناا رسمنا المتغير الي اسمه
وهو المتغير الي جلبنا في داخله عدد الزوار من الملف النصي
يعني حدث تحميل الصفحة الي سنعرض بها عداد الزوار الكود فيه يكون بالكامل هكذا
كود:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
'جلب عدد الزوار الموجود حاليا في الملف وتخزيه في متغير
Dim HitCounterR As New IO.StreamReader(SitePath & "\HitCounter.txt")
Dim HitCounter As String = HitCounterR.ReadToEnd()
HitCounterR.Close()
'عرض عداد الزوار باسلوب صورة مرسومه بشكل مميز
Dim imgNew As System.Drawing.Image = New Bitmap(1, 1)
Dim gc As Graphics = Graphics.FromImage(imgNew)
Dim font As Font = New Font("Verdana", 12, FontStyle.Underline)
Dim size As SizeF = gc.MeasureString(HitCounter, font)
Dim width As Integer = CType(size.Width, Integer) + 1
Dim height As Integer = CType(size.Height, Integer) + 1
imgNew = New Bitmap(width, height)
gc = Graphics.FromImage(imgNew)
gc.FillRectangle(Brushes.White, 0, 0, width, height)
gc.DrawString(HitCounter, font, Brushes.Black, 0, 0)
imgNew.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
End Sub
الان يكون عندنا العداد موجود في صفحة خاصة به ومعروض على شكل صورة تقدر تستخدمه في اي مكان في الموقع من خلال تضمين صفحة العداد باستخدام الفريم
واعذروووني على الاخطاء الاملائيه اذا كانت موجوده لكن انا متأكد انها موجوده وبكثره غالبا
لاني قاعد اطبع بسرعه واكيد صار معي اخطاء في الطباعه ان شاء الله ماتكون كثيره
في امان الله وحفظة