ขั้นแรกเรามาสร้างฐานข้อมูล ACCESS ใหม่กันก่อน
เนื้อหาก็คือ
ชื่อโต๊ะ: zai
ทุ่งนามี
1.ไอพี
2.เวลา
สร้างไฟล์เป็น index.asp
จากนั้นทำตามขั้นตอนด้านล่างนี้!
-
'=================================================' = ================================================= =
-
'************************ โปรแกรมนับจำนวนคนออนไลน์ Bingling V2.0 ***************** *** **********
-
'โปรแกรมของเว็บไซต์นี้จัดทำขึ้นโดยอิสระโดย "Bingling Studio" - Ice Cream Swordsman! โปรดเคารพผลงานของคุณ
-
' "Bingling Studio"─━╃→สร้างบุคลิกให้แข็งแกร่ง
-
'* ผู้แต่ง: นักดาบไอศกรีม
'* เว็บไซต์: http://www.blbcn.com
'* อีเมล์: [email protected]
'* QQ:68156987
'* ที่อยู่: อู๋ซี มณฑลเจียงซู
'************************************************ * ******************************
-
'ลิขสิทธิ์·การลอกเลียนแบบและการยักยอกจะถูกสอบสวน
-
'=================================================' = ================================================= =
'-------------- กำหนดตัวแปร
หรี่แสง
หรี่ลง
หมดเวลาสลัว
สลัว x
การเชื่อมต่อแบบสลัว
dimdbpath
'--------- สิ้นสุดการกำหนดตัวแปร
'--------- ลิงค์ฐานข้อมูลที่แนะนำ
ตั้งค่า conn=server.createobject (adodb.connection)
DBPath = Server.MapPath(zai.mdb)
conn.Open driver={ไดรเวอร์ Microsoft Access (*.mdb)};dbq= & DBPath
'--------- การสร้างลิงค์ฐานข้อมูลเสร็จสมบูรณ์
'--------- สร้างวัตถุ RS ฐานข้อมูลใหม่
ชุด rs = server.createobject (adodb.recordset)
'--------- การสร้างวัตถุ RS ฐานข้อมูลเสร็จสมบูรณ์
' --------- อ่านที่อยู่ IP ของลูกค้า
ip = Request.ServerVariables(HTTP_X_FORWARDED_FOR) 'หากอีกฝ่ายใช้พร็อกซีเซิร์ฟเวอร์เพื่อเข้าถึงอินเทอร์เน็ต ให้ใช้ Request.ServerVariables(HTTP_X_FORWARDED_FOR) เพื่อรับ IP ที่แท้จริงของอีกฝ่าย หากอีกฝ่ายไม่สามารถเข้าถึงอินเทอร์เน็ตผ่านพร็อกซีเซิร์ฟเวอร์ ค่า IP ว่างเปล่า
ถ้า ip = ดังนั้น ip = Request.ServerVariables(REMOTE_ADDR) 'หากค่าของ IP ว่างเปล่า ให้รับที่อยู่ไคลเอ็นต์ในเครื่องของเขา
' --------- การอ่าน IP เสร็จสิ้น
'--------- อ่านจำนวนเนื้อหาใหม่ที่เพิ่มในฐานข้อมูลในช่วง 20 นาทีที่ผ่านมา จัดกลุ่มตามค่า IP ตาราง มีค่าเท่ากับ 1
sql=select ip จาก zai โดยที่เวลา >= dateadd('n',-20,now()) จัดกลุ่มตาม ip
rs.เปิด sql,conn,1,1
zai=rs.RecordCount
rs.ปิด
' --------- รับจำนวนคนออนไลน์
'--------- ตรวจสอบว่ามีค่าเดียวกันในฐานข้อมูลอยู่แล้วหรือไม่ ถ้าไม่ใช่ x=ใช่ ถ้าไม่ใช่ x=no
sql=เลือก ip จาก zai โดยที่ ip=' & ip & '
rs.เปิด sql,conn,1,1
ถ้า rs.eof และ rs.bof แล้ว
x=ใช่
อื่น
x=ไม่
สิ้นสุดถ้า
RS.ปิด
'-------การตัดสินเสร็จสิ้นแล้ว'
'--------หากไม่มีค่าเดียวกันในฐานข้อมูล ให้เพิ่มค่าใหม่
ถ้า x=ใช่ แล้ว ' หากไม่มี IP ดังกล่าว ให้เพิ่มบันทึก
sql=เลือก top 1 * จาก zai
rs.เปิด sql,conn,1,3
rs.เพิ่มใหม่
อาร์เอส(ไอพี)=ไอพี
฿(เวลา)=ตอนนี้()
อาร์เอสอัปเดต
RS.ปิด
else 'ถ้ามี IP นี้ ให้เปลี่ยนเวลาเป็นเวลาปัจจุบัน
sql=select * จาก zai โดยที่ ip=' & ip & '
rs.เปิด sql,conn,1,3
฿(เวลา)=ตอนนี้()
อาร์เอสอัปเดต
RS.ปิด
สิ้นสุดถ้า
'---------------------- ตัดสินว่าการเข้าร่วมเสร็จสมบูรณ์
'------- ลบมูลค่าเพิ่มเมื่อ 20 นาทีที่แล้ว
หมดเวลา = dateadd (n, -20, ตอนนี้ ())
sql=delete * จาก zai โดยที่เวลา < # & หมดเวลา & #
con.ดำเนินการ sql
'-------การลบเสร็จสิ้น
'-------- ปิดออบเจ็กต์ข้อมูล
ตั้งค่า rs=nothing
เชื่อมต่อปิด
ตั้งค่า conn=ไม่มีอะไร
-
document.write(จำนวน <%=zai%> คนที่ออนไลน์)
ตกลง!
เสร็จแล้ว!