======Produktionsprinzip======
Die Methode besteht darin, die Informationen des Benutzers zur Datenbank hinzuzufügen, wenn der Benutzer auf die Webseite zugreift. Überprüfen Sie beim Hinzufügen, ob ein Online-Datensatz des Benutzers in der Datenbank vorhanden ist Aktualisieren Sie ihn daher. Wenn der Datensatz nicht vorhanden ist, fügen Sie ihn der Datenbank hinzu.
Und löschen Sie Online-Datensätze, die innerhalb der angegebenen Zeit keine Aktivität aufweisen (das ist es wahrscheinlich!)
======Datentabellendesign========
Erstellen Sie eine neue Datentabelle mit dem Namen „Online“.
Löschen Sie das automatische Zahlenfeld und erstellen Sie die folgenden Felder: Feldname: ID Typ: Nummer Feldname: GUESTNAME Typ: Textfeldname: STATS Typ: Textfeldname: VISITIME Typ: Datum/Uhrzeit Feldname: OUTIME Typ: Datum/Uhrzeit
===================== Der folgende Teil des Quellcodes dient als Referenz. Wenn er nicht gut geschrieben ist, korrigieren Sie mich bitte ====== ====== ===========
<%
sub activeonline()
dim ip
'////Online-Datensätze löschen, die innerhalb von 180 Sekunden inaktiv sind.
sql="Delete FROM online WHERE DATEDIFF('s',outtime,now())>180"
Conn.Execute sql
if stats="" then'//Wenn der Wert von stats leer ist, wird er als angezeigt
stats="Weißt du nicht, was du tust?"
anders
Statistiken=Statistiken
end if
IP=replace(Request.ServerVariables("REMOTE_HOST"),".","")'////Holen Sie sich die IP und entfernen Sie das „.“ in
der IP '////Überprüfen Sie, ob diese bereits vorhanden ist der Online-Tabellen-IP-Datensatz
sql="select id from online where id='"&ip&"'"
set rs=conn.execute(sql)
if rs.eof or rs.bof then'////Wenn kein IP-Eintrag vorhanden ist, fügen Sie einen Online-Eintrag hinzu
sql="insert into online(id,guestname,stats,visitime,outtime ) Werte ("&ip&",'Guest','"&stats&"',Now(),Now())"
else'////Wenn der IP-Eintrag bereits in der Online-Tabelle vorhanden ist, aktualisieren Sie den Eintrag
sql="update online set outtime =Now(),stats='"&stats&"',guestname='guest' where id='"&ip&"'"
end if
conn.execute(sql)
end sub
%>
========================Beispiele======================= ====
Ändern Sie den obigen Code, speichern Sie ihn als „Online.asp“ und betten Sie ihn am Ende jeder Webseite ein
<%
dim conn
dimmen connstr
Bei Fehler als nächstes fortfahren
connstr="DBQ="+server.mappath("Datenbankname.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
'Als conn.asp-Datei speichern
%>
<!--#INCLUDE FILE="conn.asp" -->
<%
dim stats
stats="Online anzeigen"
call activeonline()
Setze rs = Server.CreateObject("ADODB.Recordset")
sql="SELECT Id,GuestName,Stats,Visitime,Outtime FROM Online ORDER BY Visitime Desc"
rs.open sql,conn,1,3
total=rs.RecordCount
%>
<table border="1" cellpadding="2" cellpacing="0" style="border-collapse: Collapse" bordercolor="#111111" width="100%" height="53">
<tr>
<td width="20%" height="16" align="center">Spitzname</td>
<td width="20%" height="16" align="center">Aktion</td>
<td width="20%" height="16" align="center">Besuch</td>
<td width="20%" height="16" align="center">Letztes Ereignis</td>
</tr>
<%do while not rs.eof%>
<tr>
<td width="20%" height="28" align="center"><%=rs(1)%></td>
<td width="20%" height="28" align="center"><%=rs(2)%></td>
<td width="20%" height="28" align="center"><%=rs(3)%></td>
<td width="20%" height="28" align="center"><%=rs(4)%></td>
</tr>
<%
rs.movenext
Schleife
%>
</table>
Anzahl der Personen online:<%=total%>
<%
rs.close
set rs=nothing
%><!--#INCLUDE FILE="Online.asp" -->
Es ist nicht gut geschrieben, es ist lächerlich. Wenn Sie eine bessere Methode haben, reichen Sie sie bitte ein. Lassen Sie uns voneinander lernen!