แนะนำ: ผู้ที่ชื่นชอบเว็บไดนามิก: ฟังก์ชั่น ASP การกรอง HTML การกรอง ASP รหัส HTML เป็นเนื้อหาที่อ้างอิงต่อไปนี้: ฟังก์ชั่น removehtml (strhtml) dim objregexp, จับคู่, จับคู่ตั้งค่า objregexp = ใหม่ regexp obj
ตัวอย่างของการผลิตทางสถิติที่สามารถกำหนดจำนวนผู้เข้าชมบันทึกจำนวนการเข้าชม IP และเวลา
ฉันใช้ไลบรารีการเข้าถึงเป็นตัวอย่าง ในความเป็นจริงหากคุณใช้ไลบรารีเซิร์ฟเวอร์ SQL เพียงเปลี่ยนคำสั่งของไลบรารีลิงก์ โครงสร้างห้องสมุดมีดังนี้
ชื่อไฟล์ไลบรารี: cont.asp เดิมคือ cont.mdb แต่หลังจากการสร้างส่วนขยายถูกเปลี่ยนเป็น ASP เพื่อป้องกันไม่ให้ไลบรารีดาวน์โหลด
ชื่อตาราง: แท็บ
ชื่อฟิลด์ชื่อประเภทข้อมูลคำอธิบาย
id โดยอัตโนมัติหมายเลขของผู้เข้าชม
ข้อความ IP ใช้เพื่อบันทึก IP ของผู้เข้าชม
เวลาวันที่ dat1 ใช้เพื่อบันทึกผู้เยี่ยมชมล่าสุด
เวลาวันที่ DAT ใช้เพื่อบันทึกเวลาที่ผู้เข้าชมเข้าเยี่ยมชมครั้งแรก
หมายเลข CS ประเภทจำนวนเต็มใช้เพื่อบันทึกการเข้าชมโดยผู้เข้าชม
โปรแกรมนั้นง่ายมากโดยมีเพียงสองไฟล์ dispcont.asp ใช้เพื่อแสดงผลลัพธ์ทางสถิติและ contpage.asp ใช้เพื่อแสดงข้อมูลทางสถิติ
ก่อนอื่นให้ดูที่สถิติของ contpage.asp รหัสมีดังนี้:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: - SET 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 - สิ่งที่เหม็นเกี่ยวกับวรรณกรรม E ของ Ayu คือเขารู้วิธีใช้พินอินเท่านั้น ถ้า keren = จากนั้น '' ตัดสินว่าคุกกี้นั้นว่างเปล่าหรือไม่ หากพวกเขาว่างเปล่าพวกเขาจะต้องเป็นเพื่อนใหม่ไม่เช่นนั้นพวกเขาเป็นเพื่อนเก่า sql = select * จากแท็บโดยที่ id = -1 ตั้งค่า rs = server.createObject (adodb.recordset) Rs.Open SQL, Conn, 1, 3 Rs.AddNew '' หากเป็นผู้เข้าชมใหม่ให้เพิ่มระเบียนใหม่ในห้องสมุด RS (CS) = 1 '' หมายเหตุจำนวนการเข้าชมคือ 1 rs (ip) = request.serverVariables (remote_addr) '' บอกฉันว่า IP, rs (dat) = now '' บอกวันที่และเวลาปัจจุบัน rs (dat1) = วันที่ '' บอกวันที่ปัจจุบันและวันที่ที่จะใช้สำหรับการเยี่ยมชมครั้งแรกในอนาคต Response.cookies (Keren) = Rs (id) '' เขียนคุกกี้และเนื้อหาเหมือนกับ ID Response.cookies (Keren) .expires = วันที่ 365 '' ตั้งวันที่ที่ถูกต้องของคุกกี้ตั้งแต่นี้เป็นต้นไป 365 วัน อย่างอื่น 'ข้างต้นเป็นวิธีจัดการกับเพื่อนใหม่ ฉันควรทำอย่างไรกับเพื่อนเก่า? ดูสิ่งต่อไปนี้: sql = select * จากแท็บที่ id = & keren '' ไปที่ห้องสมุดเพื่อค้นหาบันทึกของเพื่อนเก่าของเรา ตั้งค่า rs = server.createObject (adodb.recordset) Rs.Open SQL, Conn, 1, 3 RS (CS) = RS (CS) 1 '' โอเคพบเพิ่มการเข้าชม 1 ครั้ง RS (IP) = request.ServerVariables (remote_addr) '' ดูว่า IP ของเขาคืออะไรและเขียนลงไป rs (dat) = ตอนนี้ '' บอกเวลาปัจจุบันนั่นคือเวลาของการเยี่ยมชมครั้งสุดท้าย Response.cookies (Keren) = Rs (id) '' จากนั้นเขียนคุกกี้ฉันไม่รู้ว่าประโยคนี้ซ้ำซ้อนหรือไม่ดังนั้นฉันจึงไม่ลอง Response.cookies (Keren) .expires = วันที่ 365 '' ตั้งเวลาหมดอายุของคุกกี้เพื่อที่ฉันจะไม่รู้จักเขาถ้าหนึ่งปีมาถึง สิ้นสุดถ้า Rs.Update '' ฉันได้บันทึกทุกสิ่งที่ฉันควรจำไว้อัปเดตไลบรารี Rs.Close '' ปิดวัตถุชุดบันทึก ตั้งค่า conn = nothing '' release conn ฉันยังคิดว่าการเชื่อมต่อควรเปิดและปิดโดยเร็วที่สุด ฉันคิดว่ามันเป็นสิ่งที่ไม่พึงประสงค์มากที่สุดที่จะใส่ไว้ในเซสชั่น 4 - |
โอเคบันทึกเสร็จแล้วมีรหัสมากกว่ายี่สิบบรรทัดโปรแกรมขนาดเล็กที่ง่ายมาก หลังจากเขียนโปรแกรมแล้วจะวางไว้บนหน้าเว็บได้อย่างไร? มันง่ายมาก เพียงค้นหาสถานที่ในหน้าแรกและเพิ่มบรรทัดของรหัสนี้: <img src = contpage.asp width = 0 ความสูง = 0>
ขั้นตอนต่อไปคือการแสดงระเบียน
ชื่อไฟล์: dispcont.asp โปรดดูรหัส:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: - SET Conn = Server.CreateObject (ADODB.Connection) connstr = dbq = server.mappath (cont.asp); defaultdir =; driver = {microsoft access driver (*.mdb)}; conn.open connstr '' *** คำสั่งข้างต้นใช้เพื่อเชื่อมต่อกับไลบรารีและ cont.asp เป็นชื่อไฟล์ไลบรารี หน้า 3 = คำขอ (PAG) ถ้า page3 = แล้ว page3 = เซสชัน (contpag) '' จำนวนหน้า, หน้าปัจจุบัน ถ้าหน้า 3 = แล้วหน้า 3 = 1 PA = คำขอ (PA) ถ้า pa = จากนั้น pa = เซสชัน (contpa) '' จำนวนการแสดงผลต่อหน้า หาก pa = จากนั้น pa = 15 '' โดยค่าเริ่มต้น 15 รายการจะปรากฏขึ้นต่อหน้าและสามารถเปลี่ยนแปลงได้ตามต้องการ เซสชัน (contpag) = หน้า 3 เซสชัน (contpa) = PA หน้า = จำนวนการแสดงผลต่อหน้า ***************** โปรแกรมด้านบนใช้เพื่อใช้ฟังก์ชันการแบ่งหน้า sql = เลือก * จากคำสั่งแท็บโดย -dat, -id สลัวอาร์เอส ตั้งค่า rs = server.createObject (adodb.recordset) Rs.Open SQL, Conn, 1,1 csi = 0 CS1 = 0 CS100 = 0 csdat1 = 0 ทำในขณะที่ไม่ใช่ RS.EOF CSI = CSI RS (CS) ถ้า RS (CS) = 1 ดังนั้น CS1 = CS1 1 ถ้า RS (CS)> = 100 แล้ว CS100 1 ถ้า dateValue (rs (dat)) = วันที่แล้ว CSDAT1 = CSDAT1 1 สิ้นสุดถ้า Rs.Movenext วง zs = rs.recordcount '' ********************************************* 8 โปรแกรมต่อไปนี้ใช้สำหรับการแสดงพลเมือง - <head> <title> สถิติออนไลน์ </tites> </head> <body style = font-size: 9pt bgcolor =#d8edf8> มีการตอบสนองทั้งหมด <%การเขียน zs%> บันทึกและตอนนี้ <%response.write page3%> หน้าแสดงแต่ละหน้า: [<a href = dispcont.asp? pag = <%= page3%> & pa = 15> 15], [<a href = dispcont.asp? pag = <% href = dispcont.asp? pag = <%= page3%> & pa = 30> 30], [<a href = dispcont.asp? pag = <%= page3%> & pa = 40> 40] [<a href = dispcont.asp> รีเฟรช] <div align = ซ้าย> <table border = 0 cellpadding = 0 style = font-size: 9pt> <tr> <td> หมายเลขหน้า </td> <%page2 = 1 สำหรับ i = 1 ถึง zs step pages ถ้า page3 = cstr (หน้า 2) แล้ว %> <td> [<%response.write page2%>] </td> < % อื่น %> <td> <a href = dispcont.asp? pag = <%response.write page2%>> [<%response.write page2%>] </td> <% สิ้นสุดถ้า หน้า 2 = หน้า 2 1 ต่อไป SN = หน้า * (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 =#fffff bgColor =#A4D1E8 CellPacing = 0 CellPadding = 3> <tr> <td> number </td> <td> เยี่ยมชมหน้าโฮมเพจล่าสุด </td> <td> การเยี่ยมชมครั้งล่าสุดที่ IP </td> <td> จำนวนโฮมเพจ </td> <td> จำนวนวันที่เยี่ยมชมครั้งแรก </td> </tr> <% สำหรับ i = 1 ถึงหน้า Response.write </tr> Response.write <td> & rs (id) & </td> Response.write <td> & rs (dat) & </td> Response.write <td> & rs (IP) & </td> Response.write <Td> & RS (CS) & </td> Response.write <td> & rs (dat1) & </td> Response.write </tr> Rs.Movenext ถ้า RS.EOF ออกจาก ต่อไป Rs.close - <tr> <td> ทั้งหมด <%= zs%> </td> <td> จำนวนการเข้าชมมากกว่า 100 เท่า <%= cs100%> </td> <td> จำนวนการเข้าชมคือ 1: <%= cs1%> </td> <%= csdat1%> </td> </tr> </table> |
'' ****************************** ด้านบนเป็นหน้าจอแสดงผลที่สมบูรณ์ มีทั้งหมด ไม่มีการพิจารณาบันทึกหรือสถานการณ์ใด ๆ
แบ่งปัน: เกม Tetris ที่เขียนใน ASP ต่อไปนี้เป็นเนื้อหาที่อ้างอิง: <%หากไม่ได้ร้องขอ QueryString (VEN) = T ดังนั้น%> <html> <head> <ชื่อ meta