Avatar billede hjemmeskoen Nybegynder
02. april 2005 - 15:50 Der er 10 kommentarer og
1 løsning

Skriv IP til Database

Hej.

Når brugerne logger ind på min side vil jeg gerne have at deres IP kommer til at stå i databasen har prøvet men forgæves. Har forsøgt på at skrive:

Session("IP") = Request.ServerVariables("REMOTE_ADDR")

I Login filen men det virker ikke den skriver den simpelthen ikke til databasen :S

Hvad skal jeg gøre? Nogle forslag?
Avatar billede kalp Novice
02. april 2005 - 15:54 #1
Du skal sige hvilken række den skal gøre det på... og så skal du gøre det via. en update sql sætning. Sådan ville jeg gøre det ud fra hvordan jeg har forstået spørgsmålet.. er dog på vej ud af døren desværre men der kommer vel en anden forbi om lidt.
Avatar billede Slettet bruger
02. april 2005 - 15:57 #2
hvordan tilføjer du ip'en til databasen...er der andre ting der allerede skrives til databasen?
Avatar billede hjemmeskoen Nybegynder
02. april 2005 - 15:59 #3
<%
If Request.QueryString("admin") = "tjek" then
navn = trim(replace(Request.Form("brugernavn"), "'", ""))
kode = trim(replace(Request.Form("kode"), "'", ""))
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../db/System.mdb")
sql = "SELECT * from admin WHERE brugernavn = '" & navn & "' AND kode = '" & kode & "'"
Set rs = Conn.Execute(sql)
if not rs.eof then
Session("brugeradgang") = "1"
Session("brugernavn") = rs("brugernavn")
Session("id") = rs("id")
Session("status") = rs("status")
Session("IP") = Request.ServerVariables("REMOTE_ADDR")
Response.Redirect "../Plus/Menu.asp"
else
response.redirect "../Plus/Fejl.asp"
end if
end if
Set conn = Nothing
Set rs = Nothing
%>



Sådan ser det andet ud?
Avatar billede Slettet bruger
02. april 2005 - 16:06 #4
Der henter den noget info fra databasen. Når du skal skrive noget går det jo den anden vej.
se om dette virker:
rs("ip") = Request.ServerVariables("REMOTE_ADDR")
istedet for:
Session("IP") = Request.ServerVariables("REMOTE_ADDR")
Avatar billede sitemaster Nybegynder
02. april 2005 - 16:08 #5
og så en rs.update nedenunder

rs("ip") = Request.ServerVariables("REMOTE_ADDR")
rs.Update
Avatar billede Slettet bruger
02. april 2005 - 16:10 #6
tak :>
Avatar billede hjemmeskoen Nybegynder
02. april 2005 - 16:16 #7
ADODB.Recordset error '800a0cb3'

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

/Plus/login.asp, line 46


Så får jeg denne fejl.
Avatar billede hansdam Nybegynder
02. april 2005 - 16:28 #8
Du kan eventuelt gøre sådan:
-------------------------------
<%
If Request.QueryString("admin") = "tjek" then
navn = trim(replace(Request.Form("brugernavn"), "'", ""))
kode = trim(replace(Request.Form("kode"), "'", ""))
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../db/System.mdb")
sql = "SELECT * from admin WHERE brugernavn = '" & navn & "' AND kode = '" & kode & "'"
Set rs = Conn.Execute(sql)
if not rs.eof then

Set gw = Server.CreateObject("ADODB.RecordSet")
MySQL = "Select * From admin WHERE ID = " & rs("ID")
gw.Open MySQL, Conn, 1, 3           
gw.Update
gw("ip") = Request.ServerVariables("REMOTE_ADDR")
gw.Update

Session("brugeradgang") = "1"
Session("brugernavn") = rs("brugernavn")
Session("id") = rs("id")
Session("status") = rs("status")
Session("IP") = Request.ServerVariables("REMOTE_ADDR")
Response.Redirect "../Plus/Menu.asp"
else
response.redirect "../Plus/Fejl.asp"
end if
end if
Set conn = Nothing
Set rs = Nothing
%>

/Hans
Avatar billede Slettet bruger
02. april 2005 - 16:29 #9
If Request.QueryString("admin") = "tjek" then
    navn = trim(replace(Request.Form("brugernavn"), "'", ""))
    kode = trim(replace(Request.Form("kode"), "'", ""))
    tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/System.mdb") & ";UID=admin;PWD=;"
    Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open tempConn
        strSQL = "SELECT * from admin WHERE brugernavn='joker' AND kode='bleah';"
        Set rs = Server.CreateObject("ADODB.RecordSet")
            rs.Open strSQL, myConn, 1, 3
            if not rs.eof then
                Session("brugeradgang") = "1"
                Session("brugernavn") = rs("brugernavn")
                Session("id") = rs("id")
                Session("status") = rs("ip")
                Session("IP") = Request.ServerVariables("REMOTE_ADDR")
                rs("ip") = Request.ServerVariables("REMOTE_ADDR")
                Response.Redirect "../Plus/Menu.asp"
                rs.update
            else
                response.redirect "../Plus/Fejl.asp"
            end if
        Set conn = Nothing
    Set rs = Nothing
end if
prøv at åbne forbindelsen på denne måde..
jeg har lige testet selv så hvis der er fejl i databasenavn/tabeller osv må du lige rette til.
Avatar billede hjemmeskoen Nybegynder
02. april 2005 - 16:33 #10
hansdam - Det virkeR :o

Giv mig et svar og du får pointene.
Avatar billede hansdam Nybegynder
02. april 2005 - 16:35 #11
Det er godt det virker :)
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