ASP สร้างโค้ดสถิติการเข้าถึง ตัวอย่างที่ 1 สร้างตารางฐานข้อมูล
ชื่อโต๊ะออนไลน์อยู่
ตั้งค่าฟิลด์ต่อไปนี้
id 'session.sessionid ใช้เพื่อบันทึกการเข้าถึงแต่ละครั้ง
ชื่อ 'หากเป็นผู้เยี่ยมชมก็จะถูกบันทึกเป็นผู้เยี่ยมชม
ออนไลน์ 'หากเป็นผู้เยี่ยมชมจะเป็น 0 หากเป็นสมาชิกจะเป็น 1
datetime 'เวลากิจกรรมล่าสุด
ชื่อผู้ใช้ 'ชื่อผู้ใช้เข้าสู่ระบบของสมาชิก แขกว่างเปล่า'
ip 'บันทึก IP การเข้าสู่ระบบของการเยี่ยมชม
head.asp 'เขียนจำนวนคนที่ออนไลน์ลงในตารางฐานข้อมูล จะต้องรวมหน้านี้ไว้ในทุกหน้าของ ASP ที่ใช้ในการเรียกดู
-
ตั้ง rs = Server.CreateObject (ADODB.Recordset)
ถ้า session(username)= แสดงว่าผู้ใช้ไม่ได้เข้าสู่ระบบ
sql=select * from online โดยที่ id='&session.sessionid&' 'ตรวจสอบว่า sessionid นี้มีอยู่ในตารางฐานข้อมูลหรือไม่
rs.เปิด sql,Conn,1,3
ถ้า rs.eof แปลว่า 'การเข้าชมครั้งแรกของผู้เยี่ยมชม'
rs.เพิ่มใหม่
อาร์เอส(id)=session.sessionID
rs(ชื่อ)=ผู้เยี่ยมชม
rs(online)=0 '0 หมายความว่าผู้ใช้ไม่ได้เข้าสู่ระบบและเป็นผู้เข้าชม
อาร์เอส(วันที่เวลา)=ตอนนี้()
userip = Request.ServerVariables (HTTP_X_FORWARDED_FOR)
ถ้า userip = จากนั้น
userip= Request.ServerVariables (REMOTE_ADDR)
สิ้นสุดถ้า
อาร์เอส(ip)=userip
มิฉะนั้น 'ผู้เยี่ยมชมไม่ได้เรียกดูเป็นครั้งแรก
rs(datetime)=now() 'อัพเดตเวลากิจกรรม'
อาร์เอสอัปเดต
฿.ปิด
สิ้นสุดถ้า
อื่น
sql=select * จากออนไลน์ โดยที่ id=' & session.sessionID & ' หรือ admin='&session(username)&' 'ตรวจสอบว่ามีบันทึก sessionid หรือชื่อผู้ใช้อยู่แล้วในตารางข้อมูลหรือไม่
rs.เปิด sql,Conn,1,3
ถ้า rs.eof แล้ว
rs.addnew 'สมาชิกเข้าเว็บไซต์ครั้งแรก (อาจเข้าสู่ระบบโดยตรงจากหน้าแรกของเว็บไซต์เพื่อเข้าสู่ฟอรั่ม)
อาร์เอส(id)=session.sessionID
rs(name)=session(show) 'เขียนชื่อเล่นของผู้ใช้'
rs(username)=session(username) 'เขียนชื่อผู้ใช้สำหรับเข้าสู่ระบบ'
rs(online)=1 'แสดงว่าผู้ใช้ได้เข้าสู่ระบบและเป็นสมาชิกแล้ว
rs(datetime)=now() 'ตั้งเวลาระบบปัจจุบันเป็นเวลาเข้าสู่ระบบของผู้ใช้'
userip = Request.ServerVariables (HTTP_X_FORWARDED_FOR)
ถ้า userip = จากนั้น
userip= Request.ServerVariables (REMOTE_ADDR)
สิ้นสุดถ้า
อาร์เอส(ip)=userip
else //นี่ไม่ใช่ครั้งแรกที่สมาชิกเรียกดูเว็บไซต์ และผู้เยี่ยมชมเข้าสู่ระบบเว็บไซต์
rs(name)=session(show) อัพเดตชื่อเล่นของผู้ใช้
rs(ชื่อผู้ใช้)=เซสชัน(ชื่อผู้ใช้)
rs(online)=1 'แสดงว่าผู้ใช้ได้เข้าสู่ระบบและเป็นสมาชิกแล้ว
อาร์เอส(วันที่เวลา)=ตอนนี้()
สิ้นสุดถ้า
อาร์เอสอัปเดต
฿.ปิด
สิ้นสุดถ้า
ตั้งค่า rs=nothing
-
conn.execute(delete from online โดยที่ datediff('s',datetime,now())>60) 'ลบผู้เยี่ยมชมที่ไม่ได้ใช้งานเป็นเวลา 60 วินาที สามารถปรับเวลาได้ด้วยตัวเอง