oGGoMedlem sedan apr. 2003120 inlägg Hej!
Sitter här och bygger en statssida som skall känna av om besökaren varit inne förut och därmed inte logga besöket.
Jag använder mig av 2 tabeller i databasen, en som heter IP och en som heter Hits.
I hits lagrar jag datum för besöket och antal träffar.
Ex:
Datum Traffar
2004-01-22 14
I IP lagrar jag IP-adressen på mina besökare.
Ex:
IP
***.***.***.***
Koden jag använder ser ut som följer:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("databas.mdb")
Set RS = Connect.Execute("Select * From hits Where datum= date()")
Set RecSet = Connect.Execute("Select * From hits")
Set RSip = Connect.Execute("Select * From IP Where IP=" & Request.ServerVariables("REMOTE_ADDR"))
if RSip.eof AND RSip.bof Then
SQL = "Insert Into IP(IP) Values('" & Request.ServerVariables("REMOTE_ADDR") & "')"
Connect.Execute(SQL)
else
if RS.eof AND RS.bof Then
SQL = "Insert Into hits(datum,traffar,dag) Values('" & Date() & "','" & 1 & "','" & Day(Date) &"')"
Connect.Execute(SQL)
else
i = RS("traffar")+1
SQL = "Update hits Set traffar='" & i & "' Where id=" & RS("id")
Connect.execute(SQL)
end if
end if
%>
Felmesset som jag får är:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i tal i frågeuttrycket 'IP=xxx.xxx.xxx.xxx'.
/default1.asp, line 14
Vilket innebär fel i koden:
Set RSip = Connect.Execute("Select * From IP Where IP=" & Request.ServerVariables("REMOTE_ADDR"))
Vad är det som är fel i denna?
@ndersMedlem sedan juni 200032 969 inlägg IP är en sträng, och lagras i ett textfält i databasen. Därför skall du ha apostrofer runt värdet.
Set RSip = Connect.Execute("Select * From IP Where IP='" & Request.ServerVariables("REMOTE_ADDR") & "'")
Du skall dessutom leta efter SQL-forumet här på wF. ;)
Mvh
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Dessutom 2:
Detta kommer inte att bli rätt:
Problem 1: Du kan ha olika ip varje gång du kopplar upp dig.
Problem 2: Många besökare kan ha samma ip.
Ska du alltså veta att samma besökare besöker dig igen, är det cookies du letar efter.
Ska du räkna antalet ip-nummer som besöker dig, går det göra som du gör.
oGGoMedlem sedan apr. 2003120 inlägg
@nders skrev:
IP är en sträng, och lagras i ett textfält i databasen. Därför skall du ha apostrofer runt värdet.
Set RSip = Connect.Execute("Select * From IP Where IP='" & Request.ServerVariables("REMOTE_ADDR") & "'")
Du skall dessutom leta efter SQL-forumet här på wF. ;)
Mvh
Tack detta funkade finfint :bire !
J.N. skrev:
HEJ!
Dessutom 2:
Detta kommer inte att bli rätt:
Problem 1: Du kan ha olika ip varje gång du kopplar upp dig.
Problem 2: Många besökare kan ha samma ip.
Ska du alltså veta att samma besökare besöker dig igen, är det cookies du letar efter.
Ska du räkna antalet ip-nummer som besöker dig, går det göra som du gör.
Jo, jag vet att cookies är absolut det bästa att använda.
Dock är inte alls detta något vetenskapligt projekt utan bara... låt oss säga en typ av inlärning för mig i ASP och VBscript som den novis jag är.
Kanske blir cookies ett framtida projekt för min webbsida, men inte ännu.
Dock vill jag tacka dig mycket för tipset!
;)
@ndersMedlem sedan juni 200032 969 inlägg
oGGo skrev:
Tack detta funkade finfint :bire !
Vassego. Lycka nu till med resten. :)
Mvh