Avatar billede [tpl]foxy Nybegynder
29. oktober 2002 - 23:25 Der er 6 kommentarer og
1 løsning

reload-sikret counter ?

Hey.. jeg har en counter her, som jeg gerne vil have gjort reload-sikret, men hvordan gør man det?
Du kan se koden her:

<%
Set fs = CreateObject("Scripting.FileSystemObject")
Wfile=server.mappath("counter.txt")
on error resume next
Set count = fs.OpenTextFile(Wfile)
hits = Clng(count.ReadLine)
hits = hits + 1
count.close
if error then
hits = 1
end if
Set count = fs.CreateTextFile(Wfile,True)
count.WriteLine(hits)
count.Close
%>
<%=hits%>

På forhånd mange tak
Avatar billede [tpl]foxy Nybegynder
29. oktober 2002 - 23:26 #1
jeg ved det burde kunne gøres med sessions eller cookie's, men har ikke helt forstand på hvordan man gør dette.
Avatar billede eagleeye Praktikant
29. oktober 2002 - 23:28 #2
Typisk vil man lave en session variable som sikre man kun tæller en session som et hit.:


<%
if Session("talt") = "" then
  Session("talt") = "ja"
  Set fs = CreateObject("Scripting.FileSystemObject")
  Wfile=server.mappath("counter.txt")
  on error resume next
  Set count = fs.OpenTextFile(Wfile)
  hits = Clng(count.ReadLine)
  hits = hits + 1
  count.close
  if error then
  hits = 1
  end if
  Set count = fs.CreateTextFile(Wfile,True)
  count.WriteLine(hits)
  count.Close
end if
%>
<%=hits%>
Avatar billede [tpl]foxy Nybegynder
29. oktober 2002 - 23:32 #3
hmm... den tæller godt nok kun 1 gang nu.. men den viser så ikke hvor mange besøgende der har været når man opdaterer.
hvordan sætter man den så til, så den stadig læser det, men uden at tilføje igen ?
Avatar billede eagleeye Praktikant
29. oktober 2002 - 23:36 #4
arh ups.... De skal så olaves så den ikke tæller op.:

<%
Set fs = CreateObject("Scripting.FileSystemObject")
Wfile=server.mappath("counter.txt")
on error resume next
Set count = fs.OpenTextFile(Wfile)
hits = Clng(count.ReadLine)
count.close
if Session("talt") = "" then
  Session("talt") = "ja"
  hits = hits + 1
  Set count = fs.CreateTextFile(Wfile,True)
  count.WriteLine(hits)
end if
if error then
hits = 1
end if
%>
<%=hits%>
Avatar billede eagleeye Praktikant
29. oktober 2002 - 23:39 #5
hov der mangler en count.close i if sætningnen:


if Session("talt") = "" then
  Session("talt") = "ja"
  hits = hits + 1
  Set count = fs.CreateTextFile(Wfile,True)
  count.WriteLine(hits)
  count.close
end if
Avatar billede [tpl]foxy Nybegynder
29. oktober 2002 - 23:46 #6
mange tak... så virker det =)
Avatar billede papman Nybegynder
30. oktober 2002 - 12:27 #7
Ind holdet i counter.txt hedder bare "hits = 1" ik ?
& er det lige meget hvor den ligger (txt'en) altså?

Pft
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