04. august 2004 - 11:13Der er
28 kommentarer og 3 løsninger
IP adresse
Jeg har dette script, jeg kan sætte ind på den enkelte side, hvordan får jeg den til, at tage IP nummeret på brugeren? Det fungerer hvis jeg skifter url ud med Remote address, men den vil ikke hvis jeg prøver, at udvide databasen med et IP felt. Den fører ikke oplysningerne ind i databasen. Hvad mangler den af informationer? Marie <% Dim objHitConn, strHitSQL, objHitRs, intHits, strHitFile Set objHitConn = Server.CreateObject("ADODB.Connection") objHitConn.Provider = "Microsoft.Jet.OLEDB.4.0" objHitConn.Open Server.MapPath("counter.mdb") strHitFile = Request.ServerVariables("url") strHitSQL = "SELECT Page, Hits From Main Where Page='" & strHitFile & "'" Set objHitRs = Server.CreateObject("ADODB.Recordset") objHitRs.Open strHitSQL, objHitConn, 1, 2 if objHitRs.EOF Then objHitRs.AddNew intHits = 0 objHitRs.Fields("Page").Value = strHitFile Else intHits = objHitRs.Fields("Hits").Value End if intHits = CInt(intHits) + 1 objHitRs.Fields("Hits").Value = CStr(intHits) objHitRs.Update objHitRs.Close objHitConn.Close Set objHitRs = nothing Set objHitConn = nothing Call DisplayImg(intHits) function DisplayImg(intNum) Dim itmCur, tmpCur Response.write "" For itmCur = 1 To Len(intNum) tmpCur = Mid(cStr(intNum), itmCur, 1) Response.write "" Next Response.write "" End function %>
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Din counter er lavet til at holde styr på hvor mange hits der er på en given side, og ikke hvilke ip-adresser der har besøgt siderne. Hvis du indsætter besøgenes ip-adresser i den nuværende kode, vil du kun kunne gemme og få vist den sidste gæsts ip.
Alternativt kan du oprette en ekstra tabel som indeholder en liste over ip-adresser der besøger dine sider, og et id for hvilken side de har besøgt jf. din eksisterende tabel.
Ja, det er fordi den giver siderne ID nummer og tæller hits sammen, så kan den ikke også indeholde alle de Ip numre der har været inde på siden, det er det du mener, ikke? Hvordan får jeg så de to tabeller til at fungere sammen? Jeg har overvejet om denne hit counter passer bedre til mit behov, men jeg kan heller ikke få den til, at tage Ip adressen med i databasen. Den ser sådan her ud: <% page= "http://" & request.servervariables("SERVER_NAME")
Steines virker og tager udgangspunkt i det jeg har i forvejen, hvilket gør det meget nemmere for mig, så du skal have mine point. Må jeg komme med 1 eller 2 tillægsspørgsmål? Hvordan skriver jeg det, hvis jeg vil have folks browsertype og skærmopløsning med? Mvh. Marie
Ja, det med browseren virker jo bare perfekt. Hvad angår skærmopløsning skal jeg selvfølgelig have et felt mere i databasen, men kunne du være lidt mere præcis, hvad angår skærmopløsningen? Hvordan "fletter" jeg det ind i det eksisterende? Mvh. Marie
Tilføj en række "oploesning" af typen tekst til din db.
if (request.servervariables("HTTP_UA_PIXELS") <> "") then begin oploesning = request.servervariables("HTTP_UA_PIXELS") else oploesning = "Ej oplyst" end if
function FindesCookie(navn) { var aCookie = document.cookie.split("; "); for (var i=0; i < aCookie.length; i++) { var aCrumb = aCookie[i].split("="); if (navn == aCrumb[0]) return true; } return false; }
<% Function GetInput(i) GetInput="" if i<>"" then GetInput=Request.QueryString(i) if GetInput="" or IsNull(GetInput) then GetInput=Request.Form(i) end if End Function
Hej Steines Det virker!!! Alletiders!! Findes der en mere enkelt metode end, at lægge det på den enkelte side? Du har lavet en cookie oplysningerne bliver gemt i ikke? En ting, der undrer mig er, at den tager kun opløsningen med første gang man er inde på siden, mens alle de andre oplysninger tager den med hver gang, man klikker på siden, det er ikke fordi det betyder så meget, men det kunne være rart, at vide hvorfor. Mvh. Marie
Grunden til at den kun tager opløsningen med er fordi cookien ligger på pc'en og javascriptet kun bliver kørt hvis der ikke er en cookie. Counteren burde jo heller ikke øges med en hvér gang en bruger besøger siden, men ex. kun én gang i døgnet.
Det med tiden og de 15 minutter, er fordi den tager tiden på serveren og ikke tiden på din pc.
Nej, det ved jeg, men jeg ville gerne kunne se antal hits på den enkelte side. Hvordan kan jeg styre at counteren kun tæller f.eks 1 gang i døgnet? Hvad skal jeg i øvrigt skrive hvis, jeg vil have hits på f.eks downloadning af pdf filer fra mine sider? Jeg vil godt oprette disse spørgsmål for sig, så du kan få point for dem, hvis du vil have det? Det er rart at støde på en der er dygtig OG god til at forklare. Mvh. Marie
Hmmmm..... Hvis du vil have tællere på dine downloads, skal du gemme dine filnavne i en tabel i databasen kunne se ud som flg.: id, filnavn, antal_downloads
Du skal så lave en side hvor du laver en liste over dine filer, og et link som øger tælleren og sender filen.
Mht. at de kun skal tælles en gang i døgnet, kan du lede efter den cookie du opretter på deres pc. Hvis den er der skal tælleren ikke øges.
Det er nok en god idé at oprette nye spørgsmål. Ikke så meget pga. mine point, men for at andre brugere med lignende problemer kan søge efter løsninger på disse.
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.