מונה מבקרים + סטטיסטיקה בסיסית לאתר

‏ • 16 בספטמבר, 2002



בתור בעלי אתרים מעניין אותנו לדעת כמה מבקרים היו לנו והאם הם חזרו לאתר שלנו.
משום ששמתי לב שיש לכך ביקוש רב וגם באופן אישי פנו אלי לתת דוגמאות החלטתי לבנות על קצה המזלג את הדוגמה הבאה, אשר משמשת כמונה מבקרים שגם יודע את מספר הפעמים שכל גולש חזר לבקר באתר. הדוגמה משתמש בבסיס נתונים Access 2000 ובעוגיות על מנת לדעת על משתמשים חוזרים. מכיוון שזוהי דוגמה בלבד, יוצג כאן רק השלד, אתם כמובן מוזמנים לשנות ולהוסיף שדות ונתונים לפי צורכיכם.

בנית בסיס הנתונים

נבנה טבלה בעלת 3 שדות:

1) מספר ID של המבקר

2) מספר הפעמים שביקר באתר

3) התאריך והשעה שביקר לאחרונה באתר

בקובץ global.asa

בתחילת Session_OnStart נבקש עוגיה ממחשב הלקוח:



1  

Sid = Request.Cookies("v_id")

למה אנו מבקשים עוגיה?
מכיוון שאם המשתמש כבר ביקר באתר אנחנו נקבל את המידע הזה מהעוגיה.
ואם הוא לא היה קודם באתר?
הנה התשובה לכך:



1
2
3  

if Sid = "" then
    Sid = session.SessionID
End if


כך קיבל המשתנה Sid את הערך שאנו רוצים (מספר ה- session).
ומה עושים עם זה?
פשוט, מכניסים את המשתנה לעוגיה ושולחים למחשב הלקוח:



1  

Response.Cookies("v_id") = Sid

לא לשכוח לתת תאריך תפוגה לעוגיה.
ועכשיו עלינו לפנות למסד הנתונים, את הקישור למסד אני לא מוסיף, את זה אתם כבר יודעים.
המטרה הראשונה היא למצוא אם קיים לגולש ID, ע"י שאילתה פשוטה:



1
2  

str="SELECT visitors.v_id, visitors.v_count "
  str-str & " FROM visitors WHERE visitors.v_id=" & Sid


אם קיימת זהות אנו נקבל רשומה אחת של הגולש הנוכחי, אם לא קיימת זהות אנו נקבל רקודסט ריק.
איך בודקים את זה?
ע"י משתנה אשר יבדוק אם הרקורדסט ריק או שיש בו משהו:



1  

bool = rs.EOF


מה שנותר לנו לעשות כעת הוא לעדכן את בסיס הנתונים לפי התשובה שהתקבלה במשתנה הנ"ל.
אם המשתנה ריק נכתוב את שאילתת ההוספה הבאה שתכניס רשומה חדשה לבסיס הנתונים:



1  

sql="INSERT INTO visitors (v_id,v_count) VALUES (" & Sid & ",1)"


ואם לא אז נכתוב שאילתת עדכון לאותה רשומה שקיבלנו לגביה תשובה שהיא קיימת



1
2  

sql="UPDATE visitors SET visitors.v_count = visitors.v_count+1, "
sql = sql & " visitors.last_date = Now() WHERE visitors.v_id=" & Sid

פשוט לא?
כמובן כשנרצה להציג את הנתונים נשתמש בדף נוסף אשר יצג לנו את הנתונים הדרושים לנו לשם ביצוע סטטיסטיקות לגבי האתר שלנו (בדומה הזאת הכל מתבצע על אותו הדף).

איך להציג את הנתונים?

ע"י שתי שאילתות:
שאילתה אחת תהיה שאילתת סיכום אשר תסכם את סה"כ הביקורים שהיו לנו בדף:



1  

sql="SELECT SUM(visitors.v_count) FROM visitors"


זהו בעצם מונה הכניסות לאתר שלנו.
השאילתה השניה היא בכדי להציג את כל הנתונים לגבי כל הכניסות:



1
2  

str="SELECT visitors.v_id, visitors.v_count, visitors.last_date "
str = str & " FROM visitors ORDER BY visitors.last_date DESC"


יש לזכור שזהו שלד בלבד ולכן יש פה מעט נתונים (3 שדות בסה"כ).
לכן מומלץ לחלק את דף הנתונים לעמודים מכיוון שאם יש לנו הרבה כניסות לאתר, תוך זמן קצר מאד נקבל דף שיהיו בו הרבה מאד נתונים וזמן הטעינה שלו יהיה ארוך ביותר.

להורדת הדוגמא

בהצלחה!

אורן שהם.
http://www.mymonolog.com

תגיות: ,

תגובות בפייסבוק