Avatar billede wilweb Nybegynder
16. september 2002 - 22:39 Der er 2 kommentarer og
1 løsning

log ip problemer

Jeg logger alle Ip adresser der besøger mit site.
i rs("Ip") i databasen lægger jeg IP adressen (strIp) og
i strHttp vil jeg gerne have at http://www.adressen.dk lægges.

da man sjælendt kender Http'en på brugeren der besøger site'et
så vil jeg gerne søge efter brugerens Ip adresse
i de IP adressen der i forvejen er i min database.
 
Hvis brugeren(IP) er der så har han været på besøg før skal værdien af rs("strHttp")
skrives i den nye rs("strHttp") record.

hvis brugeren(IP) ikke har været her før skal der blot skrives
"Kender ikke Http" i rs("strHttp")

<%
'kode
strIp         =      Request.ServerVariables("REMOTE_ADDR")
strHost    =      Request.ServerVariables("REMOTE_HOST")
strHttp    =      "Kender ikke host"
'strHttp    =      Request.ServerVariables("HTTP_HOST")
'strnpfvoid =      Request.servervariables("HTTP_REFERER")
strBrowser  =      Request.servervariables("HTTP_USER_AGENT")
strSprog    =      Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
strDato    =      now

%>
<!--#include file="_dbconn.asp"-->
<%
'se om der har været besøg fra brugeren(IP) før
ledSQL = "Select * from tbl_statistik where Ip='" & strIp & "'"
Set rs = Conn.Execute(ledSQL)

'hvis strIp ikke findes i databasen, så skal værdien af strHttp skrives i rs("strHttp")
if rs("Ip") = "" then
'skriver til DB
  strSQL = "Insert into tbl_statistik(Ip, Host, strHttp, strSprog, strBrowser, Tidspunkt) VALUES ('" & strIp & "','" & strHost & "','" & strHttp & "','" & strSprog  & "','" & strBrowser & "','" & strDato & "')"
  Set rs = Conn.Execute(strSQL)
else
'Hvis Ip findes i databasen
'så skriv indholdet af rs("strHttp") i den nye record
  strSQL = "Insert into tbl_statistik(Ip, Host, strHttp, strSprog, strBrowser, Tidspunkt) VALUES ('" & strIp & "','" & strHost & "','" & rs("strHttp") & "','" & strSprog  & "','" & strBrowser & "','" & strDato & "')"
  Set rs = Conn.Execute(strSQL)
end if

'Luk database
Conn.Close
Set Conn = Nothing
%>

Hvad er der galt her? jeg får fejl i linje 22 som er:
if rs("Ip") = "" then
altså hvis Ip adressen ikke findes i databasen

Er jeg halt galt på den?????
Avatar billede -mundi- Nybegynder
16. september 2002 - 22:41 #1
hvis ip'en ikke findes i databasen får du et tomt recordset retur, da man ikke kan hive "ip" feltet ud af ingenting giver det fejl, brug istedet:

if rs.eof then
'skriver til DB
Avatar billede wilweb Nybegynder
16. september 2002 - 22:47 #2
-mundi- :>Tak for dit hurtige og helt perfekte svar, det virker bare helt fint.....:> Gizom
Avatar billede -mundi- Nybegynder
16. september 2002 - 22:54 #3
selvtak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester