مثال على الإنتاج الإحصائي الذي يمكن من خلاله عدد الزوار وتسجيل عدد الزيارات وIP والوقت ويمكن للأصدقاء الذين يحتاجون إليه الرجوع إليه.
لقد أنشأت موقعًا على شبكة الإنترنت، وبالطبع، مثل أي شخص آخر، قمت أيضًا بوضع عداد عليه وواصلت قراءة العداد كل يوم، مما جعلني سعيدًا جدًا ولكن بعد ذلك فكرت، من الذي رأى موقع الويب الخاص بي؟ الأصدقاء أو الأصدقاء القدامى؟ لا أعرف عدد المرات التي أتوا فيها، لكنني ما زلت أرغب في ترقيمهم جميعًا، لذلك تقدمت بطلب للحصول على إحصائيات مجانية، لكنني ما زلت غير راضٍ بعد تغيير أرقام N على التوالي، للأسف، يبدو أن هذه هي الطريقة الوحيدة الحصول على ما يكفي من الطعام والملابس هو أن أفعل ذلك بنفسي، وما زلت آمل أن يضحك الخبراء على ذلك وألا يطلبوا النصيحة.
لقد أخذت مكتبة ACCESS كمثال. في الواقع، لاستخدام مكتبة SQL SERVER، ما عليك سوى تغيير بيان مكتبة الارتباط.
هيكل المكتبة على النحو التالي
اسم ملف المكتبة: CONT.ASP كان في الأصل CONT.MDB ولكن بعد إنشائه، تم تغيير الملحق إلى ASP لمنع تنزيل المكتبة.
اسم الجدول: علامة التبويب
وصف نوع بيانات اسم الحقل
معرف ترقيم رقم الزائر تلقائيا
يتم استخدام نص IP لتسجيل IP الخاص بالزائر
يتم استخدام التاريخ والوقت dat1 لتسجيل آخر مرة زارها الزائر
يتم استخدام التاريخ والوقت لتسجيل وقت الزيارة الأولى للزائر
رقم CS، عدد صحيح يستخدم لتسجيل عدد زيارات الزوار
البرنامج بسيط للغاية، ويحتوي على ملفين فقط، يُستخدم dispcont.asp لعرض النتائج الإحصائية، ويستخدم contpage.asp للمعلومات الإحصائية.
دعونا نلقي نظرة أولاً على إحصائيات CONTPAGE.ASP. الكود كما يلي:
- <%SetConn=Server.CreateObject(ADODB.Connection)
- Connstr=DBQ=+server.mappath(cont.asp)+;DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};
- Conn.Openconnstr'***** يتم استخدام العبارة أعلاه للاتصال بالمكتبة، وcont.asp هو اسم ملف المكتبة.
- keren=request.cookies(keren)'اقرأ ملفات تعريف الارتباط، اسم ملفات تعريف الارتباط هو: keren، haha. . كلمة E الخاصة بـ Ah Yu هي كلمة أدبية سيئة، وهو يعرف فقط كيفية استخدام نظام Pinyin.
- ifkeren=then' يحدد ما إذا كانت ملفات تعريف الارتباط فارغة، وإذا كانت فارغة، فيجب أن يكون صديقًا جديدًا، وإلا فهو صديق قديم.
- sql=SELECT*FROMtabwhereid=-1
- setrs=server.createobject(ADODB.Recordset)
- rs.Opensql،كون،1،3
- rs.addnew'إذا كان زائرًا جديدًا، قم بإضافة سجل جديد في المكتبة.
- rs(cs)=1'سجل عدد الزيارات بـ 1
- rs(ip)=request.servervariables(remote_addr)' لاحظ أسفل عنوان IP،
- rs(dat)=now'تذكر التاريخ والوقت الحاليين،
- rs(dat1)=date'تذكر التاريخ الحالي واستخدمه كتاريخ الزيارة الأولى في المستقبل.
- Response.cookies(keren)=rs(id)'اكتب ملف تعريف الارتباط، المحتوى هو نفس المعرف.
- Response.cookies(keren).expires=date+365'حدد تاريخ صلاحية ملفات تعريف الارتباط بدءًا من الآن، 365 يومًا،
- else'ما سبق هو كيفية التعامل مع الأصدقاء الجدد ماذا يجب أن نفعل مع الأصدقاء القدامى؟ شاهد أدناه:
- sql=SELECT*FROMtabwhereid=&keren'اذهب إلى المكتبة للعثور على سجل صديقنا القديم
- setrs=server.createobject(ADODB.Recordset)
- rs.Opensql،كون،1،3
- rs(cs)=rs(cs)+1'حسنًا، وجدته، أضف 1 إلى عدد الزيارات
- rs(ip)=request.servervariables(remote_addr)'اعرف عنوان IP الخاص به واكتبه.
- rs(dat)=now'تذكر الوقت الحالي وهو وقت آخر زيارة
- Response.cookies(keren)=rs(id)' ثم اكتب ملفات تعريف الارتباط. لا أعرف إذا كانت هذه الجملة زائدة عن الحاجة، فأنا لم أجربه.
- Response.cookies(keren).expires=date+365'قم بتعيين وقت انتهاء صلاحية ملف تعريف الارتباط حتى لا أتعرف عليه بعد عام واحد.
- com.endif
- rs.update' لقد كتبت كل ما يجب كتابته، فلنقم بتحديث المكتبة.
- rs.Close'أغلق كائن مجموعة السجلات.
- setconn=لا شيء' إطلاقات conn. ما زلت أعتقد أنه يجب فتح الاتصال وإغلاقه في أي وقت، وأعتقد أنه من غير المرغوب فيه وضعه في SESSION. 4% 〉
حسنًا، تم التسجيل، وهو يحتوي على أكثر من عشرين سطرًا من التعليمات البرمجية، وهو برنامج صغير بسيط جدًا.
بعد كتابة البرنامج، كيفية وضعه على الصفحة أمر بسيط للغاية. ما عليك سوى العثور على مكان في الصفحة الرئيسية وإضافة سطر التعليمات البرمجية هذا: <img src=contpage.asp width=0 height=0>.
الخطوة التالية هي إظهار السجلات. هناك العديد من الأشخاص الذين يمكنهم القيام بعمل أفضل من آيو، لكنني ما زلت أرغب في إظهار قبحتي.
اسم الملف: dispcont.asp، يرجى الاطلاع على الكود:
- <%
- SetConn=Server.CreateObject(ADODB.Connection)
- Connstr=DBQ=+server.mappath(cont.asp)+;DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};
- Conn.Openconnstr'***** يتم استخدام العبارة أعلاه للاتصال بالمكتبة، وcont.asp هو اسم ملف المكتبة.
- page3=طلب(صفحة)
- ifpage3=thenpage3=session(contpag)'عدد الصفحات، الصفحة الحالية
- ifpage3=thenpage3=1
- باسكال = طلب (باسكال)
- ifpa=thenpa=session(contpa)'عدد مرات العرض لكل صفحة
- يعرض ifpa=thenpa=15' 15 عنصرًا في كل صفحة بشكل افتراضي، والتي يمكن تغييرها بشكل عشوائي
- جلسة(contpag)=page3
- session(contpa)=pa
- pages=pa'عرض الرقم لكل صفحة****************** يتم استخدام البرنامج أعلاه لتنفيذ وظيفة الترحيل
- SQL=SELECT*FROMtaborderby-dat,-id
- باهتة
- Setrs=Server.CreateObject(ADODB.RecordSet)
- rs.Opensql،كون،1،1
- منظمة التضامن المسيحي الدولية = 0
- CS1=0
- cs100=0
- csdat1=0
- dowhilenotrs.eof
- منظمة التضامن المسيحي الدولية=منظمة التضامن المسيحي الدولية+RS(CS)
- ifrs(cs)=1thencs1=cs1+1
- ifrs(cs)〉=100ثمcs100+1
- ifdatevalue(rs(dat))=datethen
- csdat1=csdat1+1
- com.endif
- rs.movenext
- حلقة
- ZS=RS.RECORDCOUNT
- '********************************************************************************************************************************************************************************* * ***8يتم استخدام البرنامج التالي لعرض الترحيل
- %〉
- <رأس>
- 〈العنوان〉إحصائيات كمبيوتر ممتازة〈/العنوان〉
- </رأس>
- 〈نمط الجسم=حجم الخط:9ptbgcolor=#D8EDF8〉
- هناك سجلات 〈%Response.Writezs%〉 في المجمل. الصفحة الحالية هي 〈%Response.Writepage3%〉. تعرض كل صفحة: [〈ahref=dispcont.asp?pag=〈%=page3%〉&pa=15〉15. ], [<ahref=dispcont. asp?pag=〈%=page3%〉&pa=20〉20] عناصر، [〈ahref=dispcont.asp?pag=〈%=page3%〉&pa=30〉30] عناصر، [〈ahref=dispcont.asp? الصفحة=〈%=page3%〉&pa=40〉40]
- [〈ahref=dispcont.asp〉تحديث]
- 〈المحاذاة = اليسار〉
- 〈tableborder=0cellpadding=0style=font-size:9pt〉
- 〈tr〉〈td〉رقم الصفحة〈/td〉〈%page2=1
- fori=1tozssteppages
- ifpage3=cstr(page2)ثم
- %〉〈td〉[〈%Response.Writepage2%〉]〈/td〉
- <٪آخر٪>
- 〈td〉〈ahref=dispcont.asp?pag=〈%Response.Writepage2%〉〉[〈%Response.Writepage2%〉]〈/td〉
- <%endif
- page2=page2+1
- التالي
- sn=pages*(page3-1)'رقم السجل الحالي=الرقم المعروض في كل صفحة*عدد الصفحات-الرقم المعروض في كل صفحة
- ifsn〉zsthensn=0
- rs.movesn,1
- '*************************************** يتم استخدام الفقرة أعلاه للترحيل
- %〉〈/آر〉〈/الجدول〉
- 〈/div〉〈tablestyle=font-size:9ptwidth=100%bordercolorlight=#000000border=1bordercolordark=#FFFFFFbgcolor=#A4D1E8cellspacing=0cellpadding=3〉
- 〈tr〉〈td〉الرقم〈/td〉〈td〉آخر صفحة رئيسية تمت زيارتها〈/td〉〈td〉آخر عنوان IP تمت زيارته〈/td〉〈td〉عدد الصفحات الرئيسية〈/td〉〈td〉تاريخ الزيارة الأولى〈/td 〉〈/آر〉〈%
- fori=1topages
- الاستجابة.اكتب〈/tr〉
- الاستجابة.اكتب〈td〉&rs(ID)&〈/td〉
- الاستجابة.اكتب〈td〉&rs(dat)&〈/td〉
- الاستجابة.اكتب〈td〉&rs(IP)&〈/td〉
- الاستجابة.اكتب〈td〉&rs(CS)&〈/td〉
- الاستجابة.اكتب〈td〉&rs(DAT1)&〈/td〉
- الاستجابة.اكتب〈/tr〉
- rs.movenext
- ifrs.eofthenexitfor
- التالي
- rs. Close
- %〉
- 〈tr〉〈td〉Total〈%=zs%〉〈/td〉〈td〉هناك من زار أكثر من 100 مرة〈%=cs100%〉〈/td〉〈td〉هناك من زار 1 : 〈%=cs1%〉〈/td〉〈td〉إجمالي عدد الزيارات 〈%=csi%〉〈/td〉〈td〉زيارات اليوم: 〈%=csdat1%〉〈/td〉〈/tr〉
- </طاولة>
ما ورد أعلاه عبارة عن عرض ترحيل كامل يمكن نسخه واستخدامه (ملاحظة: لا يتم أخذ الوضع الذي لا يوجد فيه سجل في الاعتبار)، كما يقول المثل، فقط من خلال القيام بذلك بنفسك يمكنك الحصول على ما يكفي من الطعام والملابس، لذا أسرع جربه!