اصنع إحصائيات موقع ويب بسيط
أفكار التصميم: قم بإعداد Server SessionId لتسجيل حالة تسجيل دخول المستخدم عند استخدام طلب صفحة الويب المستخدم 20 دقيقة ، المستخدم عندما لا يكون هناك طلب صفحة ويب ، قم بإزالة هذا المستخدم.
1. جدول البيانات: نضيف جدولين إلى قاعدة البيانات
جدول السطر: SessionId الحرف النوع 20 -bit لتسجيل العلامة الفريدة لطلب صفحة ويب العميل
نوع وقت تاريخ المستخدم لتسجيل وقت طلب صفحة الويب الأخير للعميل
نوع الرقم التلقائي معرف
يمكنك أيضًا تسجيل معلومات أخرى في هذا الجدول ، مثل الحسابات و IP والمعلومات الأخرى
جدول العد: يستخدم نوع وقت تاريخ استخدام تاريخ اليوم لتسجيل تاريخ اليوم
يتم استخدام النوع الرقمي Count لتسجيل وحدة التخزين النقر على موقع الويب
يتم استخدام النوع الرقمي اليوم لتسجيل حجم وصول اليوم
يستخدم Max Digital Type لتسجيل أقصى زيارات لليوم
في هذا الجدول ، نظرًا لوجود سجل واحد فقط ، ليس من الضروري استخدام حقل المعرف ، ولكن الاحتفاظ بحقل المعرف هو عادة جيدة
2. استخدم con.asp لمعالجة جدول الخط
(1) قم بتوصيل قاعدة البيانات
قاتمة كون
قاتمة connstr
قاتمة ديسيبل
db = "date/date.mdb"
تعيين conn = server.createObject ("adodb.connection")
connstr = "provider = microsoft.jet.oledb.4.0 ؛ data source =" & server.mappath ("" & db & "")
Conn.Open Connstr
(2) سجلات مهلة واضحة
conn.execute ("حذف من السطر حيث تم تأريخه (" s "، userdate ، الآن ())> = 1200")
(3) تسجيل معلومات العميل على جدول الخط وأداء المعالجة الإحصائية للموقع
Dim SQL ، SQL1 ، RS ، RS1
تعيين rs = server.createBject ("adodb.oldset")
SQL = "SELECT * من السطر حيث [SESSITIDED] =" "" "& Session.SessionId &" "" تحديد ما إذا كان طلب صفحة الويب الأولية للعميل
Rs.OOPEN SQL ، CONN ، 1،3
إذا لم يكن Rs.eof إذن "إذا كان طلب صفحة الويب الأصلية ، فقم بتسجيل معلومات العميل ، وإلا فإنه سيغير وقت الطلب فقط
RS ("userdate") = الآن ()
آخر
set rs1 = server.createObject ("adodb.oldset") "
SQL1 = "SELECT * FROM [COUNT]"
rs1.Open SQL1 ، Conn ، 1،3
إذا كان Rs.eof إذن "إذا لم يكن هناك سجل في الجدول ، فقم بتهيئة هذا الجدول
Rs.Addnew
RS ("العد") = 1
RS ("Max") = 1
RS ("اليوم") = 1
RS ("UserDate") = Date ()
آخر
RS1 ("COUNT") = RS1 ("Count") 1 "عدد نقرات الموقع
إذا كان RS1 ("UserDate") = Date () ثم "إذا كان تاريخ النظام هو نفسه التاريخ الأخير من سجل البيانات ، أضف 1 زيارات 1
RS1 ("اليوم") = rs1 ("اليوم") 1
إذا كان ذلك مختلفًا ، فقم بتعيين حجم الوصول اليومي 1 ، وقم بتغيير تاريخ سجل البيانات إلى تاريخ الخادم
RS1 ("اليوم") = 1
RS1 ("UserDate") = Date ()
إنهاء إذا
rs1.update
إذا كان RS1 ("Max") <= rs1 ("اليوم") ثم "إذا تجاوزت إحصائيات اليوم الحد الأقصى للزيارات اليومية ، فقم بتحديث الحد الأقصى للزيارات اليومية
RS1 ("Max") = RS1 ("اليوم")
إنهاء إذا
إنهاء إذا
rs1.update
RS1.Close
تعيين RS1 = لا شيء
Rs.Addnew "ما يلي هو معلومات المستخدم
RS ("SessionId") = Session.SessionId "لكتابة SessionId في جدول البيانات
RS ("UserDate") = الآن () اكتب تاريخ النظام إلى جدول البيانات
إنهاء إذا
Rs.update
Rs.close
تعيين روبية = لا شيء
المعالجة أعلاه جاهزة للإحصاءات.
<!-#تضمين ملف = "conn.asp"->
<٪ عداد العد ، اليوم ، الحد الأقصى ، الخط
تعيين rs = server.createBject ("adodb.oldset")
SQL = "SELECT * FROM [COUNT]" "
Rs.OOPEN SQL ، CONN ، 1،1
اليوم = روبية ("اليوم")
العد = RS ("العد")
الحد الأقصى = RS ("Max")
Rs.close
تعيين روبية = لا شيء
تعيين rs = server.createBject ("adodb.oldset")
sql = "حدد العد (*) من السطر"
Rs.OOPEN SQL ، CONN ، 1،1
السطر = RS (0)
Rs.close
تعيين روبية = لا شيء
٪>
لقد أعدنا إحصائيات موقع الويب أعلاه ، ووضعناها في عدد المتغيرات ، اليوم ، في صفحة الويب .asp ، يمكننا استخدام الاستجابة. لا ، لذلك علينا استخدام الجمل التالية لإخراج المحتوى الإحصائي:
document.write ("زيارات الموقع: <٪ = count ٪> الناس <br>")
document.write ("اليوم: <٪ = اليوم ٪> زار الناس هذا الموقع <br>")
document.write ("أعلى الزيارات اليومية لهذا الموقع: <٪ = max ٪> الناس <br>")
document.write ("Current Online: <٪ = line ٪> people")
نستخدم <script src = "line.asp"> </script> لاقتباس هذا الملف