Bra jobbat Annelie!
Det bästa är ju om du "pastar" koden direkt här i webForum för då kan ju alla läsa hur du har gjort osv.
Ha det bra!
------------------
Mvh
Patrik
aka Brimba
9 svar · 326 visningar · startad av Annelie
Lite mallig som man är så...igår satt jag och Patrik och kämpade med ett script till mej, som han gjort . Om och med en räknare.Allt fungerade hos han men inget hos mej....grabbkod ?? Hursomhelst så satt jag i morse och gjorde lite "tjej justeringar" i scriptet Voila, en räknare. Som skriver in en cookie så att när ngn kommer in på sidan stegar den upp men om denne uppdaterar sidan 10 ggr eller springer emellan sidorna så stegar den ej upp....Jag kan mer än gärna dela med mej.....men då gäller det att ni ändra sökvägarna förstås. hade en hake...jag var tydligen tvungen att ha ngn viss rättighet hos mitt "hotell2 så vissa fel uppstod i helgen men är nu avklarat.
------------------
/Mvh Annelie( http://www.annelie.nu )
Bra jobbat Annelie!
Det bästa är ju om du "pastar" koden direkt här i webForum för då kan ju alla läsa hur du har gjort osv.
Ha det bra!
------------------
Mvh
Patrik
aka Brimba
visst kan jag dela med mej
<%
Dim dbCounterPath
Dim myConn
Dim SQLStmt
Dim SQLupd
Dim rsCounter
Dim totCountDigits
Dim CounterBgColor
Dim CounterBorderColor
Dim strPage
' Response.Write Server.MapPath("/ev katalog/databasnamnet.mdb")
strPage = Request.ServerVariables("URL")
' cookie check
' om den finns eller ej
If Request.Cookies(strPage) = "" Then
Response.Cookies(strPage) = 1
Application.Lock
'Response.Write strPage & "<br>"
dbCounterPath = "DBQ=" & Server.MapPath("/ev katalog/databasnamnet.mdb")
Set myConn = CreateObject("ADODB.Connection")
Set rsCounter = CreateObject("ADODB.Recordset")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & dbCounterPath
' New Page ?
SQLStmt = "SELECT fldCount FROM tblCount where Page='" & strPage & "'"
set rsCounter = myConn.Execute(SQLStmt)
'rsCounter.Open SQLStmt, myConn
if rsCounter.EOF then
rsCounter.Close
Set rsCounter = nothing
SQLStmt = "INSERT INTO tblCount (fldCount,Page) VALUES (0,'" & strPage & "');"
'SQLStmt = "INSERT INTO tblCount (fldCount,Page) VALUES (0,'NISSE');"
'Response.Write SQLStmt & "<br>"
myConn.Execute SQLStmt
else
rsCounter.Close
Set rsCounter = nothing
end if
' Get count and add 1
SQLStmt = "SELECT fldCount FROM tblCount where Page='" & strPage & "'"
set rsCounter = myConn.Execute(SQLStmt)
rsCounter.MoveFirst
count = Int(rsCounter("fldCount") + 1)
rsCounter.Close
Set rsCounter = nothing
' Update
SQLupd ="UPDATE tblCount SET fldCount = " & Count & " where Page='" & strPage & "'"
myConn.Execute (SQLupd)
myConn.Close
Set myConn = nothing
Application.UnLock
end if
sub WriteCounter
strPage = Request.ServerVariables("URL")
CounterBgColor = "#F6D9AC"
CounterBorderColor = "#666666"
totCountDigits = 5 ' så många siffror ska räknaren bestå av
dbCounterPath = "DBQ=" & Server.MapPath("/ev katalog/databasnamnet.mdb")
'Response.Write dbCounterPath & "<br>"
'Response.Write strPage & "<br>"
' hämta uppgift om hur många besök som varit
Application.Lock
dbCounterPath = "DBQ=" & Server.MapPath("/ev katalog/databasnamnet.mdb")
Set myConn = CreateObject("ADODB.Connection")
Set rsCounter = CreateObject("ADODB.Recordset")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & dbCounterPath
SQLStmt = "SELECT fldCount FROM tblCount where Page='" & strPage & "'"
'Response.Write SQLStmt & "<br>"
set rsCounter = myConn.Execute(SQLStmt)
'rsCounter.Open SQLStmt, myConn
Count = rsCounter("fldCount")
rsCounter.Close
Set rsCounter = nothing
myConn.Close
Set myConn = nothing
' hur många siffror ska räknaren bestå av
If Len(Count) < totCountDigits Then
Do Until Len(Count) = totCountDigits
Count = "0" & Count
Loop
End If
Application.UnLock
' Denna funktion ändrar text siffrorna till bild siffror
Count = Replace(Count,"0","<img src=/counter/0.gif border=0>")
Count = Replace(Count,"1","<img src=/counter/1.gif border=0>")
Count = Replace(Count,"2","<img src=/counter/2.gif border=0>")
Count = Replace(Count,"3","<img src=/counter/3.gif border=0>")
Count = Replace(Count,"4","<img src=/counter/4.gif border=0>")
Count = Replace(Count,"5","<img src=/counter/5.gif border=0>")
Count = Replace(Count,"6","<img src=/counter/6.gif border=0>")
Count = Replace(Count,"7","<img src=/counter/7.gif border=0>")
Count = Replace(Count,"8","<img src=/counter/8.gif border=0>")
Count = Replace(Count,"9","<img src=/counter/9.gif border=0>")
Response.Write "\<table border=0 cellspacing=0 cellpadding=0\>" & vbcrlf
Response.Write "\<tr bgcolor=#636363\>" & vbcrlf
Response.Write " \<td\>"
Response.Write " \<table border=0 cellspacing=1 cellpadding=0\>"
Response.Write " \<tr bgcolor=" & CounterBgColor & "\> "
Response.Write " \<td\>" & count & "\</td\>"
Response.Write " \</tr\>"
Response.Write " \</table\>"
Response.Write " \</td\>"
Response.Write " \</tr\>"
Response.Write "\</table\>"
end sub
%>
De sidor som skall ha räknaren MÅSTE vara en asp sida , med detta script. Där du vill ha räknaren skriver du :
<% WriteCounter %>
Högst upp på dokumenten där du hart för avsikt att ha räknaren skriver du:
<!--#include file="ev katalog/filnamnet på räkn.asp"-->
LYCKA TILL
------------------
/Mvh Annelie( http://www.annelie.nu )
[Redigerat av Annelie den 26 apr 2000]
En kompis, fury, hade ett bra räknar script:
<%
path = Server.MapPath("\KATALOG")
fil = path & "\TEXTFILENSNAMN.txt"
Set MittTxtObj = Server.CreateObject("Scripting.FileSystemObject")
Set MinFil = MittTxtObj.OpenTextFile(fil)
antal = MinFil.ReadLine
MinFil.Close
antal = antal + 1
Set MinFil = MittTxTObj.CreateTextFile(fil,true)
MinFil.WriteLine antal
MinFil.Close
%>
<!-- Här skrivs koden ut -->
<%=antal%>
Pss.. om din hemside URL lyder: www.homepage.com/minsida/krull/counter.txt
då skall det stå /minsida/krull i stället för KATALOG...
//jaceko
enligt mig så fattas en viktig sak. om man reload:ar så ökar ju räknaren med ett...inte bra.
lägg till:
if Session("räknare") = "ja" Then
'inget
else
'räknarkod
Session("räknare") = "ja"
End If
------------------
/bohlin
Hello,
I scriptet till Annelie så räknar räknare upp endast en ggn per besök. Det används en cookie som kollar om räknaren redan räknat upp besökaren eller ej. Med Session så belastar man servern mer än med att bara lägga en cookie och sedan kolla om besökaren redan räknats.
En sak till med scriptet som Annelie delade med sig av så är det ej en text räknare utan räknaren använder sig av små gif bilder istället. Kan lätt göras om så att den som vill kan köra endast en textversion.
/PatrikB
Javisst ja jag har ju 10 små gifbilder ja....är ngn intresserad kan de få dem osså...Ja cookie har jag, vill ju inte att Mr x tex skall vandra in och ut mellan sidorna och öka med 10 pers. EN gång och inget mer, så det är INGEN "glädjeräknare"
Trevlig valborg på er alla
------------------
/Mvh Annelie( http://www.annelie.nu )
... en liten sak till ....
Application.Lock gör så att endast en person åt gången har access till count filen =O)
.... annars blir det strul om det skulle komma in 2 pers exakt samtidigt .... =O)
/PatrikB
PS den som vill ha textfils varianten kan maila mig DS
[Redigerat av PatrikB den 29 apr 2000]
Textvarianten har en nackdel, om man kallar det nackdel. man måste ju ha en fil att skriva i alltså skrivrättigheter,,,,,Men har man det så .....Keep on
------------------
/Mvh Annelie( http://www.annelie.nu )