บางครั้งคุณต้องการทราบว่าใครเข้าชมไซต์ของคุณ เมื่อใด ที่อยู่ IP ฯลฯ ให้ฉันอธิบายปัญหานี้ให้คุณด้านล่าง ตัวอย่างนี้ใช้ไฟล์ข้อความเพื่อเขียนข้อมูลผู้ใช้เพื่อสร้าง logfile.asp และวางไว้ที่ด้านบนของหน้า asp แต่ละหน้า <!--#Include File=LogFile.asp-->เมื่อมีคนเยี่ยมชมไซต์ของคุณ logfile.asp เขียนโดยอัตโนมัติ ข้อมูลของเขาไปที่ LogFile.txt หาก URL ที่เกี่ยวข้องเหมือนกัน ไฟล์จะไม่ถูกเขียน
ไฟล์: LogFile.asp
คัดลอกรหัสรหัสดังต่อไปนี้:
-
Dim ValidEntry ' ตัวแปรบันทึก
' ขั้นแรกให้ตั้งค่าว่าบันทึกนี้ถูกต้อง
รายการที่ถูกต้อง = จริง
' หากการเข้าสู่ระบบตัวแปรเซสชันไม่ว่างเปล่า
' นั่นหมายความว่าบุคคลนี้ถูกบันทึกไว้แล้ว
' จากนั้นตั้งค่า ValidLog เป็น False
หากไม่ใช่ IsEmpty(Session(LogIn)) ดังนั้น ValidEntry = False
' คุณสามารถเพิ่มข้อจำกัดต่างๆ ได้ที่นี่
' หาก URL อ้างอิงมาจากไซต์เดียวกัน
' อย่าเขียนลงไฟล์บันทึก
ถ้าซ้าย (Request.ServerVariables (HTTP_REFERER), 17)
=http://vevb.com แล้วครับ
รายการที่ถูกต้อง = เท็จ
จบถ้า
ถ้าซ้าย (Request.ServerVariables (HTTP_REFERER), 21)
=http://www.vevb.com แล้วครับ
รายการที่ถูกต้อง = เท็จ
สิ้นสุดถ้า
' ตอนนี้ถ้า ValidEntry เป็น True ให้เข้าสู่ไฟล์บันทึก
หาก ValidEntry แล้ว
ConstForAppending = 8
Const สร้าง = จริง
ดิม FSO
ติ่มซำ
ติ่ม MyFileName
Dim strLog
MyFileName = Server.MapPath(MyLogFile.txt)
ตั้งค่า FSO = Server.CreateObject (Scripting.FileSystemObject)
ตั้งค่า TS = FSO.OpenTextFile (MyFileName, ForAppending, Create)
' เก็บค่าที่จำเป็นทั้งหมดไว้ใน strLog
strLog = <br><P><B> & ตอนนี้ & </B>
strLog = strLog & คำขอ ServerVariables (REMOTE_ADDR) &
strLog = strLog & คำขอ ServerVariables (HTTP_REFERER) &
strLog = strLog & คำขอ ServerVariables (HTTP_USER_AGENT) & <BR>
' เขียนข้อมูลปัจจุบันลงในไฟล์ข้อความบันทึก
TS.write strLog
TS.ไรท์ไลน์
' สร้างตัวแปรเซสชันเพื่อตรวจสอบ ValidEntry ครั้งถัดไป
เซสชัน (เข้าสู่ระบบ) = ใช่
ตั้งค่า TS = ไม่มีเลย
ตั้งค่า FSO = ไม่มีเลย
สิ้นสุดถ้า
-