Avatar billede tweak Nybegynder
12. maj 2005 - 19:29 Der er 49 kommentarer og
1 løsning

Logge IP

Jeg har fundet et script til at logge min bruges ip adresse, men jeg forstår altså intet af sådan noget.!

Jeg skal bruge den til at gøre brugeren opmærksom på at jeg har logget hans ip og vises ham den, jeg ved bare ikke hvor jeg skal sætte scriptet ind, og hvordan jeg får den vist her:http://www.digitalife.dk/gb/gaestebog.asp?mode=add

Koden ser sådan ud: <?php
// For at få den rigtige IP.
// $REMOTE_ADDR metoden virker kun hvis brugeren ikke er bag
// firewall eller proxy.... du får kun proxy eller firewall's IP.

$IP = $GLOBALS['REMOTE_ADDR'];
$FIP = $GLOBALS['HTTP_X_FORWARDED_FOR'];
if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];

echo $IP;
?>
Avatar billede fagghunter Nybegynder
12. maj 2005 - 19:31 #1
ehmm, er din gaestebog ikke i asp?!?
Avatar billede tweak Nybegynder
12. maj 2005 - 19:35 #2
jo
Avatar billede Slettet bruger
12. maj 2005 - 19:46 #3
så skal du finde et asp script
Avatar billede nielle Nybegynder
12. maj 2005 - 19:47 #4
<%
IP = Request.ServerVariables("REMOTE_ADDR")
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

if ((FIP <> "") and (FIP <> "unknown"))
    IP ? FIP
end if

Response.Write(IP)
%>
Avatar billede nielle Nybegynder
12. maj 2005 - 19:48 #5
IP = FIP
Avatar billede tweak Nybegynder
12. maj 2005 - 19:48 #6
Ja sq da :( Er der ikke nogen som kan hjælpe med sådan et, og hvor det skal sættes ind.?
Avatar billede tweak Nybegynder
12. maj 2005 - 19:49 #7
nielle, okay :) Hvordan får jeg det vist på min side.? I kan nok se at jeg intet kender til det der :(
Avatar billede tweak Nybegynder
12. maj 2005 - 19:50 #8
Sådan ser det ud nu:

<%
Session.LCID=1030
Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("fldfih.mdb") & ";UID=admin;PWD=;"

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strOverskrift = Trim(Request.Form("Overskrift"))
    strKommentar = Trim(Request.Form("Kommentar"))
    If Len(strNavn) = 0 Then
        strError = "<li>Du skal skrive dit navn!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Du skal skrive en gyldig e-mail adresse!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>Du skal skrive en kommentar!</li>"
    End If
    If Len(strError) = 0 Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM Guestbook WHERE (ID = 0)"
        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
Response.Redirect("gaestebog.asp")
    Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
<% Dim strTitle
strTitle=""%>
Avatar billede nielle Nybegynder
12. maj 2005 - 19:53 #9
tweak>

Det skal såmæn bare cut'n'pases ind der hvor du ønsker at få det udskrevet.
Avatar billede nielle Nybegynder
12. maj 2005 - 19:56 #10
F.eks. i bunden af siden:

<%
Session.LCID=1030
Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("fldfih.mdb") & ";UID=admin;PWD=;"

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strOverskrift = Trim(Request.Form("Overskrift"))
    strKommentar = Trim(Request.Form("Kommentar"))
    If Len(strNavn) = 0 Then
        strError = "<li>Du skal skrive dit navn!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Du skal skrive en gyldig e-mail adresse!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>Du skal skrive en kommentar!</li>"
    End If
    If Len(strError) = 0 Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM Guestbook WHERE (ID = 0)"
        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
Response.Redirect("gaestebog.asp")
    Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If

Dim strTitle
strTitle=""

IP = Request.ServerVariables("REMOTE_ADDR")
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

if ((FIP <> "") and (FIP <> "unknown"))
    IP = FIP
end if

Response.Write(IP)
%>
Avatar billede tweak Nybegynder
12. maj 2005 - 19:59 #11
Hmmmm... Du er ski nød til at gi et eks. fatter hat af det her acp halløj ;)
Avatar billede tweak Nybegynder
12. maj 2005 - 20:00 #12
Får jeg det så vist sådan så brugeren kan se det her: http://www.digitalife.dk/gb/gaestebog.asp?mode=add
Avatar billede nielle Nybegynder
12. maj 2005 - 20:01 #13
Siden din side er i ASP burde du måske kigge lidt på det. ;^)

http://www.w3schools.com/asp/default.asp
Avatar billede tweak Nybegynder
12. maj 2005 - 20:06 #14
nielle, jeg har flere gange forsøgt mig, men det overgår altså mine evner ;-(
Avatar billede nielle Nybegynder
12. maj 2005 - 20:07 #15
Det ser ikke ud til at det er ASP koden for den side du har postet - så nej det gør den ikke. Jeg tror at IP adressen kommer i bunden på den side man bliver sendt videre til når man har trykket på knappen.
Avatar billede nielle Nybegynder
12. maj 2005 - 20:08 #16
En vital rettelse der skav være et "then" i denne del:

if ((FIP <> "") and (FIP <> "unknown")) then
    IP = FIP
end if

- ellers får du serverfejl. :^(
Avatar billede tweak Nybegynder
12. maj 2005 - 20:12 #17
Okay, når nu jeg finder hvor det skal sættes ind, kan man så på nogen måde kontrolere hvor det bliver placeret.?
Avatar billede nielle Nybegynder
12. maj 2005 - 20:14 #18
Lige nu kommer det i bunden af siden, fordi det er der at den kommando - Response.Write(IP) - som udskriver det er placeret:


<%
Session.LCID = 1030

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("fldfih.mdb") & ";UID=admin;PWD=;"

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strOverskrift = Trim(Request.Form("Overskrift"))
    strKommentar = Trim(Request.Form("Kommentar"))

    If Len(strNavn) = 0 Then
        strError = "<li>Du skal skrive dit navn!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Du skal skrive en gyldig e-mail adresse!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>Du skal skrive en kommentar!</li>"
    End If

    If Len(strError) = 0 Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM Guestbook WHERE (ID = 0)"

        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing

        Response.Redirect("gaestebog.asp")
    Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If

Dim strTitle
strTitle = ""

IP = Request.ServerVariables("REMOTE_ADDR")
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

If ((FIP <> "") And (FIP <> "unknown")) Then
    IP = FIP
End If

Response.Write(IP)
%>
Avatar billede nielle Nybegynder
12. maj 2005 - 20:16 #19
Hvis du skal have placeret det andre steder så skal du flytte linjen:

Response.Write(IP)

- til det sted. Men husk at selve udregningen skal være foretaget højere opppe på siden.
Avatar billede tweak Nybegynder
12. maj 2005 - 20:19 #20
Puha, det skulle være vinte så man havde til til at lære det her.!!!

Skal jeg sætte Response.Write(IP) ind f. eks sådan her <p>Response.Write(IP)</p>

Nu ikke grine hvis der er helt hen i skoven :)
Avatar billede nielle Nybegynder
12. maj 2005 - 20:23 #21
Nej, sådan her:

<p><% Response.Write(IP) %></p>

Alt ASP-kode *skal* nemlig være imellem et par <% ... %> tags.

Der findes også en lidt kortere form (en genvej) som du kan bruge lige præcis i det der tilfælde:

<p><% =IP %></p>
Avatar billede tweak Nybegynder
12. maj 2005 - 20:28 #22
1000 tak nielle.!! Vil du lige se om det virker hos dig.? http://www.digitalife.dk/gb/gaestebog.asp?mode=add
Avatar billede nielle Nybegynder
12. maj 2005 - 20:30 #23
Jep, det er mit IP nummer det der.
Avatar billede tweak Nybegynder
12. maj 2005 - 20:31 #24
Tak endnu engang ;)
Avatar billede tweak Nybegynder
12. maj 2005 - 20:31 #25
Kan jeg foreste logge det på en måde.? Gemmes det et sted.?
Avatar billede nielle Nybegynder
12. maj 2005 - 20:33 #26
Takker for points. :^)

En anden gang bør du nok for en god ordens skyld poste dit spørgsmål i ASP kategorien. Det er lige meget om den kodestump du har er PHP; Den skal oversættes til ASP for at den kan virke på din hjemmeside - du kan ikke bruge PHP på en ASP side.
Avatar billede nielle Nybegynder
12. maj 2005 - 20:35 #27
Ja, selvfølgelig kan det logges i databasen, men så skal du først lige have udvidet din tabel i din Access database til at kunne tage et nyt felt til IP adresser.
Avatar billede tweak Nybegynder
12. maj 2005 - 20:37 #28
Okay, det må blive et nyt spørgsmål, for det forstår jeg heller ikke noget af :(
Avatar billede nielle Nybegynder
12. maj 2005 - 20:42 #29
Har du selv MS Access på din PC?
Avatar billede tweak Nybegynder
12. maj 2005 - 20:45 #30
Ja det har jeg, jeg er også kommet så vidt som til at åbne min database fil og trykket på design :) De andre brugere må jo ikke se den.
Avatar billede tweak Nybegynder
12. maj 2005 - 20:46 #31
Altså de andres ip adresser
Avatar billede nielle Nybegynder
12. maj 2005 - 20:47 #32
Først skal du finde og åbne den tabel som hedder Guestbook.
Avatar billede nielle Nybegynder
12. maj 2005 - 20:51 #33
Den skulle gerne indeholde mindst disse 5 felter: Navn, Email, Overskrift, Kommentar og Dato.
Avatar billede nielle Nybegynder
12. maj 2005 - 20:52 #34
Du tilføjer nu bare et nyt felt som du kalder: IP

Det skal bare være af typen Tekst.
Avatar billede tweak Nybegynder
12. maj 2005 - 20:55 #35
Ja det har jeg. Den indeholder: Dato, Navn, Email, Overskrift og Besked.

Du tilføjer nu bare et nyt felt som du kalder: IP

Det skal bare være af typen Tekst.

Dvs. Højreklik og indsæt kolonne.?
Avatar billede nielle Nybegynder
12. maj 2005 - 20:59 #36
Sikker på at den hedder "Besked" og ikke "Kommentar"? Det er i hvert fald hvad der står i din ASP kode. Men ellers lyder det som den rigtige tabel.
Avatar billede tweak Nybegynder
12. maj 2005 - 21:02 #37
sorry, kommentar ;) Er det så bare at gemme den, og så skulle deres ip være det ved næste besked.?
Avatar billede nielle Nybegynder
12. maj 2005 - 21:03 #38
Når du har rettet i tabellen så uploader du din Avves fil igen og så tilføjer du følgende linje i din ASP kode:

rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs("IP") = IP
            rs.Update
        End If
        rs.Close
        Set rs = Nothing

Prøv at gætte hvilken linje jeg snakker om. ;^)

Husk på at udregningen af IP skal placeres *før* at du forsøger at bruge variablen "IP".
Avatar billede nielle Nybegynder
12. maj 2005 - 21:03 #39
Avves -> Access.
Avatar billede tweak Nybegynder
12. maj 2005 - 21:06 #40
Uha.... Det er ikke der jeg har sat den kode ind du skrev:

<%
IP = Request.ServerVariables("REMOTE_ADDR")
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

if ((FIP <> "") and (FIP <> "unknown")) then
    IP = FIP
end if

Response.Write(IP)
%>

Jeg har sat den ind her:

<%
Select Case strMode
Case "add"
IP = Request.ServerVariables("REMOTE_ADDR")
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

if ((FIP <> "") and (FIP <> "unknown")) then
    IP = FIP
end if
%>
Avatar billede nielle Nybegynder
12. maj 2005 - 21:10 #41
Så skal du altså også have den ind på den anden side, hvis du vil have mulighed for at gemme IP adressen.
Avatar billede nielle Nybegynder
12. maj 2005 - 21:11 #42
<%
Session.LCID = 1030

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("fldfih.mdb") & ";UID=admin;PWD=;"

IP = Request.ServerVariables("REMOTE_ADDR")
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

If ((FIP <> "") And (FIP <> "unknown")) Then
    IP = FIP
End If

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strOverskrift = Trim(Request.Form("Overskrift"))
    strKommentar = Trim(Request.Form("Kommentar"))

    If Len(strNavn) = 0 Then
        strError = "<li>Du skal skrive dit navn!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Du skal skrive en gyldig e-mail adresse!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>Du skal skrive en kommentar!</li>"
    End If

    If Len(strError) = 0 Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM Guestbook WHERE (ID = 0)"

        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs("IP") = IP
            rs.Update
        End If
        rs.Close
        Set rs = Nothing

        Response.Redirect("gaestebog.asp")
    Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If

Dim strTitle
strTitle = ""
%>
Avatar billede nielle Nybegynder
12. maj 2005 - 21:12 #43
Beregeningen er oppe i toppen - denne gang uden sleve udskrivnings-delen.
Avatar billede tweak Nybegynder
12. maj 2005 - 21:17 #44
Jeg får denne fejl hvis jeg skriver din kode ind:

Microsoft VBScript compilation error '800a0411'

Name redefined

/gb/gaestebog.asp, line 60

Dim strTitle
----^
Avatar billede tweak Nybegynder
12. maj 2005 - 21:20 #45
Okay jeg slettede

Dim strTitle
strTitle = ""

Ser lige om det virker ;-)
Avatar billede nielle Nybegynder
12. maj 2005 - 21:21 #46
Mærkeligt... Der er jo ikke rettet noget dernede. Er du sikker på at du har sat det ind korrekt?
Avatar billede tweak Nybegynder
12. maj 2005 - 21:23 #47
For pokker hvor er du hård til det her.!! Må jeg ikke ha lov til at oprette et spg. så du kan få nogle flere point.?
Avatar billede tweak Nybegynder
12. maj 2005 - 21:24 #48
Det er fordi jeg nok ikke har fået det hele med Sådan så det ud, før jeg rettede det

        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Overskrift") = Server.HTMLEncode(strOverskrift)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs("IP") = IP
            rs.Update
        End If
        rs.Close
        Set rs = Nothing

        Response.Redirect("gaestebog.asp")
    Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If

Dim strTitle
strTitle = ""
%>
<% Dim strTitle
strTitle=""%>
Avatar billede nielle Nybegynder
12. maj 2005 - 21:28 #49
Hvis du ser i bunden så har du fået oprettet "Dim strTitle" hele to gange - den ele skal slettes, og så virker det nok igen.

Næe nej, 200 point er rigeligt - og endda med lidt til overs.
Avatar billede tweak Nybegynder
12. maj 2005 - 21:32 #50
nille, ja det gjorde jeg også ;-)

okay, men du får i hvert fald tak for din hjælp, og jeg må se om jeg kan få lært det skide ASP :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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