Har du några kunskaper i ASP alls?
Ifall det bara är någon liten kodsnutt du behöver eller en hel applikation! :q
Mvh Fredde Mannen
13 svar · 718 visningar · startad av Vickan
Hejsan!
Finns det någon som kan hjälpa mig?
Jag undrar hur man gör en egen besöksräknare i asp. Och hur gör jag för att den dessutom ska vara gömd?
Mvh/Vickan
Har du några kunskaper i ASP alls?
Ifall det bara är någon liten kodsnutt du behöver eller en hel applikation! :q
Mvh Fredde Mannen
Du kan göra en databas räknare...
....som automatiskt uppdateras varje gång någon uppdaterar sidan.
Exempel:
https://www.rubensoft.nu/LWSWE
dim Conn, RecSet, AntalBesokTotalt, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/raknare.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM AntalBesok"
RecSet.Open SQL, Conn, 3, 3
RecSet("Antal") = RecSet("Antal") + 1
RecSet.Update
RecSet.Close
Set RecSet = Nothing
Conn.Close
Set Conn = Nothing
För att få detta skriptet att fungera...
...måste du ha en db mapp i root mappen. Om du kommer använda denna kod, kräver det att du har en Access databas vid namn raknare.mdb i db mappen, med en tabell med en kolumn vid namn Antal
|--raknare.mdb (databas)
|-----AntalBesok (Tabell namn)
|-------Antal (kolumn)
För att gömma den...
... kan du skapa en hemlig administratörs sida som kräver ett lösenord för att logga in på. För att skriva ut antal besökare, inte unika, använd då följande kod:
<%
if Request.QueryString("admin") = "" and Session("admin") = "" Then %>
<form name="loggain" action="admin.asp?check=password" method="post">
Lösenord:
<input name="pwd" type="text" size="40">
</form>
<%elseif Request.QueryString("admin") = "OK" and session("admin") = "OK" Then
dim Conn, RecSet, AntalBesokTotalt, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/raknare.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM AntalBesok"
RecSet.Open SQL, Conn
AntalBesokTotalt = RecSet("Antal")
Response.Write("Antal Besökare:" & AntalBesokTotalt & "<p><a href=""admin.asp?admin=loggaut"" target=""_self"">Logga ut</a>") 'Skriv ut antal besökare + en utloggningslänk!
RecSet.Close
Set RecSet = Nothing
Conn.Close
Set Conn = Nothing
Elseif Request.QueryString("admin") = "loggaut" Then
Session.Abandon()
Response.Redirect("admin.asp")
end if
'Stämmer lösenordet ?
dim password
password = "Arne" 'Lösenordet (notera: Stora och små bokstäver stämmer!
if Request.QueryString("check") = "password" Then
if Request.Form("pwd") = password Then ' om lösenordet stämmer...
Session("admin") = "OK" ' Skapa en session...
Response.Redirect("admin") = "OK" 'och skicka användaren till administratörssidan!
else
Response.Redirect("admin.asp") 'Om lösenordet inte stämmer, skicka tillbaka han till inloggningssidan!
end if
end if
%>
// Wickmark
Om det nu bara är en räknare han behöver på sidan så är det ju helt onödigt med en databas. Bättre om han skriver det i en textfil eller något liknande. Han kan ju använda Global.Asa och Application men den töms ju om serven skulle starta om allt.
men jagt tycker att FSO bör användas.
Nickemannen skrev:
Om det nu bara är en räknare han behöver på sidan så är det ju helt onödigt med en databas. Bättre om han skriver det i en textfil eller något liknande. Han kan ju använda Global.Asa och Application men den töms ju om serven skulle starta om allt.
men jagt tycker att FSO bör användas.
Jo, det går med en textfil också.
Det är bara det att om Vickan vill ha en unik besöksräknare, så är det kanska praktiskt att ha en tabell i databasen där manlägger till unika IPs (besökare) och sen räknar inläggen i tabellen, och skriver ut antalet unika IPs (besökare).
En databas, istället för två textfiler... :)
Wickmark: Det är så här att jag inte har acsess och har bara nosat lite på den och asp för en tid sedan.
Vad är FSO? Kan det vara enklare för mig när jag inte är så insatt?
Eller tycker ni att jag ska ta ett färdig räknare och försöka gömma den på något sätt?
Mvh/Vickan
<%
on error resume next
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath("besokare.txt"))
counter = clng(act.readline)
counter = counter + 1
act.close
%>
Mycket enkel räknare som lagrara antal request på sidan i textfil. Klistra in koden på din sida och kolla sedan i textfilen när du vill veta antalaet besök.
Tack så mycket för alla svar!
Jag håller på att testa dahlgrens exempel.
Och då undrar jag: Hur ska besokare.txt-filen se ut? :q
Mvh/Vickan
Den ska vara tom :)
Ok Tack!
Har nu försökt med denna koden men det vill inte funka.
Finns det någon som kan se felet?
<%
on error resume next
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fil = fso.OpenTextFile(Server.MapPath("besokare.txt"),1,True)
counter = clng(fil.ReadLine)
Response.Write(counter & " : ")
fil.Close
set fil = nothing
set fil = fso.OpenTextFile(Server.MapPath("besokare.txt"),2, True)
counter = counter + 1
Response.Write(counter)
fil.WriteLine(counter)
fil.Close
%>
Mvh/Vickan
I vilken mapp befinner sig textfilen besokare.txt
får du något felmeddelande, eller är händer det bara inget?
Ok!
Nu funkar det så att räknaren syns på både första sidan och besokare.txt
Hur gömmer jag den nu på defaultsidan.
<%
on error resume next
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fil = fso.OpenTextFile(Server.MapPath("databas/besokare.txt"),1,True)
counter = clng(fil.ReadLine)
Response.Write(counter & " : ")
fil.Close
set fil = nothing
set fil = fso.OpenTextFile(Server.MapPath("databas/besokare.txt"),2, True)
counter = counter + 1
Response.Write(counter)
fil.WriteLine(counter)
fil.Close
%>
http://www.frederick.nu/default.asp
http://www.frederick.nu/databas/besokare.txt
Mvh/Vickan
:OO :OO
Ta bort raderna som skriver ut antalet besökare.
Response.Write(counter & " : ")
och
Response.Write(counter)
Nu kan du endast se besökarna genom att kika i textfilen.