مثال للإنتاج الإحصائي الذي يمكن من خلاله عدد الزوار وتسجيل عدد الزيارات وIP والوقت
لقد أنشأت موقعًا على شبكة الإنترنت، www.zydn.net، بالطبع، مثل أي شخص آخر، قمت أيضًا بوضع عداد عليه، ورأيت أن العداد ظل يتقلب كل يوم، وشعرت بسعادة كبيرة بعد ذلك، من يقرأ موقع الويب الخاص بي؟ هل هم أصدقاء جدد أم أصدقاء قدامى؟ لا أعرف عدد المرات التي جاءوا فيها، وأردت ترقيمهم جميعًا، لذلك تقدمت بطلب للحصول على إحصائيات مجانية، لكنني جربت أرقام N متتالية ولم أكن راضيًا للأسف، يبدو أن هذه هي الطريقة الوحيدة ما يكفي من الطعام والملابس هو أن أفعل ذلك بنفسي، فقط أفعل ذلك، إنه جاف، والمستوى كريه الرائحة، وآمل أن يضحك الخبراء عليه، ولن أطلب النصيحة.
لقد أخذت مكتبة ACCESS كمثال. في الواقع، لاستخدام مكتبة SQL SERVER، ما عليك سوى تغيير بيان مكتبة الارتباط.
هيكل المكتبة على النحو التالي
اسم ملف المكتبة: CONT.ASP كان في الأصل CONT.MDB ولكن بعد إنشائه، تم تغيير الملحق إلى ASP لمنع تنزيل المكتبة.
اسم الجدول: علامة التبويب
وصف نوع بيانات اسم الحقل
معرف ترقيم رقم الزائر تلقائيا
يتم استخدام نص IP لتسجيل IP الخاص بالزائر
يتم استخدام التاريخ والوقت dat1 لتسجيل آخر مرة زارها الزائر
يتم استخدام التاريخ والوقت لتسجيل وقت الزيارة الأولى للزائر
رقم CS، عدد صحيح يستخدم لتسجيل عدد زيارات الزوار
البرنامج بسيط للغاية، ويحتوي على ملفين فقط، يُستخدم dispcont.asp لعرض النتائج الإحصائية، ويستخدم contpage.asp للمعلومات الإحصائية.
دعونا نلقي نظرة أولاً على إحصائيات CONTPAGE.ASP. الكود كما يلي:
<%
تعيين Conn=Server.CreateObject(ADODB.Connection)
Connstr=DBQ=+server.mappath(cont.asp)+;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
Conn.Open connstr '*****يتم استخدام العبارة أعلاه للاتصال بالمكتبة، cont.asp هو اسم ملف المكتبة.
keren=request.cookies(keren) 'اقرأ ملفات تعريف الارتباط، اسم ملفات تعريف الارتباط هو: keren، haha. . Ah Yu's E هو شخص أدبي كريه الرائحة، وهو يعرف فقط كيفية استخدام نظام الكتابة بينيين.
إذا كان keren= ثم "حدد ما إذا كانت ملفات تعريف الارتباط فارغة. إذا كانت فارغة، فيجب أن يكون صديقًا جديدًا، وإلا فهو صديق قديم."
sql=SELECT * من علامة التبويب حيث المعرف=-1
تعيين rs=server.createobject(ADODB.Recordset)
rs.Open SQL، كون، 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 يومًا،
آخر 'ما سبق هو كيفية التعامل مع الأصدقاء الجدد ماذا يجب أن نفعل مع الأصدقاء القدامى؟ شاهد أدناه:
sql=SELECT * FROM tab Where id=&keren 'اذهب إلى قاعدة البيانات للعثور على سجلات أصدقائنا القدامى
تعيين rs=server.createobject(ADODB.Recordset)
rs.Open SQL، كون، 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 'اضبط وقت انتهاء صلاحية ملف تعريف الارتباط حتى لا أتعرف عليه بعد مرور عام واحد.
نهاية إذا
rs.update 'لقد كتبت كل ما يجب ملاحظته، فلنقم بتحديث المكتبة.
rs.Close "أغلق كائن مجموعة السجلات."
set conn=nothing 'Release conn، ما زلت أعتقد أنه يجب فتح الاتصال وإغلاقه في أي وقت، وأعتقد أنه من غير المرغوب فيه وضعه في SESSION. 4
%>
حسنًا، السجل جاهز، هناك أكثر من 20 سطرًا من التعليمات البرمجية، وهو برنامج صغير وبسيط للغاية، ولكن أعتقد أن الخبراء يجب أن يكون لديهم حيل ذكية، ولا ينسون تعليم آيو.
بعد كتابة البرنامج كيف أضعه على الصفحة؟ الأمر بسيط جدًا، ما عليك سوى العثور على مكان في الصفحة الرئيسية وإضافة سطر التعليمات البرمجية هذا: <img src=contpage.asp width=0 height=0>.
الخطوة التالية هي إظهار السجلات. هناك العديد من الأشخاص الذين يمكنهم القيام بعمل أفضل من آيو، لكنني ما زلت أرغب في إظهار قبحتي.
اسم الملف: dispcont.asp، يرجى الاطلاع على الكود:
<%
تعيين Conn=Server.CreateObject(ADODB.Connection)
Connstr=DBQ=+server.mappath(cont.asp)+;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
Conn.Open connstr '*****يتم استخدام العبارة أعلاه للاتصال بالمكتبة، cont.asp هو اسم ملف المكتبة.
page3=طلب(صفحة)
إذا page3= ثم page3=session(contpag) 'عدد الصفحات، الصفحة الحالية
إذا كانت الصفحة 3 = ثم الصفحة 3 = 1
باسكال = طلب (باسكال)
إذا pa= ثم pa=session(contpa) 'عرض الرقم لكل صفحة
إذا pa= ثم pa=15 'افتراضيًا، يتم عرض 15 عنصرًا في كل صفحة، والتي يمكن تغييرها بشكل عشوائي.
جلسة(contpag)=page3
session(contpa)=pa
pages=pa 'عرض الرقم لكل صفحة****************** يتم استخدام البرنامج أعلاه لتنفيذ وظيفة الترحيل
SQL=SELECT * من ترتيب علامات التبويب حسب -dat،-id
باهتة
تعيين rs=Server.CreateObject(ADODB.RecordSet)
rs.Open SQL، كون، 1،1
منظمة التضامن المسيحي الدولية = 0
CS1=0
cs100=0
csdat1=0
تفعل في حين لا rs.eof
منظمة التضامن المسيحي الدولية=منظمة التضامن المسيحي الدولية+RS(CS)
إذا كانت rs(cs)=1 ثم cs1=cs1+1
إذا كانت rs(cs)>=100 ثم cs100+1
إذا كانت قيمة التاريخ (rs(dat))=التاريخ إذن
csdat1=csdat1+1
نهاية إذا
rs.movenext
حلقة
ZS=RS.RECORDCOUNT
'********************************************************************************************************************************************************************************* * ***8يتم استخدام البرنامج التالي لعرض الترحيل
%>
<الرأس>
<title>إحصائيات كمبيوتر ممتازة</title>
</الرأس>
<نمط الجسم=حجم الخط: 9pt bgcolor=#D8EDF8>
يوجد إجمالي سجلات <%Response.Write zs%>، والصفحة الحالية هي <%Response.Write page3%>. وتعرض كل صفحة: [<a href=dispcont.asp?pag=<%=page3%> &pa=15>15 ] عناصر، [<a href=dispcont.asp?pag=<%=page3%>&pa=20>20] عناصر، [<a href=dispcont.asp?pag=<%=page3%>&pa=30>30] عنصرًا، [<a href=dispcont.asp?pag=<%=page3%>&pa=40>40] عنصرًا
[<a href=dispcont.asp>تحديث]
<div محاذاة=يسار>
<حدود الجدول=0 cellpadding=0 style=font-size: 9pt>
<tr><td>رقم الصفحة</td><%page2=1
لـ i=1 إلى صفحات الخطوات zs
إذا page3=cstr(page2) إذن
%><td >[<%Response.Write page2%>]</td>
<% آخر %>
<td><a href=dispcont.asp?pag=<%Response.Write page2%>>[<%Response.Write page2%>]</td>
<% نهاية إذا
page2=page2+1
التالي
sn=pages*(page3-1) 'رقم السجل الحالي=الرقم المعروض في كل صفحة*عدد الصفحات-الرقم المعروض في كل صفحة
إذا sn>zs ثم sn = 0
rs.move sn,1
'*************************************** يتم استخدام الفقرة أعلاه للترحيل
%> </tr></table>
</div> <table style=font-size: 9pt width=100% bordercolorlight=#000000 border=1 bordercolordark=#FFFFFF bgcolor=#A4D1E8 cellpacing=0 cellpadding=3>
<tr><td>الرقم</td><td>آخر صفحة رئيسية تمت زيارتها</td><td>آخر عنوان IP تمت زيارته</td><td>عدد الصفحات الرئيسية</td><td>تاريخ الزيارة الأولى</td > </tr><%
لأني = 1 إلى الصفحات
الاستجابة.اكتب </tr>
الاستجابة.اكتب <td>&rs(ID)&</td>
الاستجابة.اكتب <td>&rs(dat)&</td>
الاستجابة.اكتب <td>&rs(IP)&</td>
الاستجابة.اكتب <td>&rs(CS)&</td>
الاستجابة.اكتب <td>&rs(DAT1)& </td>
الاستجابة.اكتب </tr>
rs.movenext
إذا rs.eof ثم الخروج ل
التالي
rs. Close
%>
<tr><td>الإجمالي<%=zs%></td><td>عدد الزيارات أكثر من 100 مرة<%=cs100%> </td><td>عدد الزيارات 1:< % =cs1%></td><td>إجمالي عدد الزيارات<%=csi%></td><td>الزيارات اليوم: <%=csdat1%></td></tr>
</الجدول>
'****************************** ما ورد أعلاه هو العرض المرقّم بالكامل ويمكن استخدامه بعد نسخه بالكامل. لا يتم النظر في الحالة التي لا يوجد فيها سجل واحد.