Avatar billede Slettet bruger
14. september 2003 - 20:32 Der er 20 kommentarer og
1 løsning

simpel asp counter til txt

Nogle der har en counter som køre mod en txt fil og ikke db?

Koden må gerne posted her uden alle mulige link til dit og dat :o)
Avatar billede Slettet bruger
14. september 2003 - 20:37 #1
hvad skal den tælle???
Avatar billede Slettet bruger
14. september 2003 - 20:44 #2
besøgende på siden :o)
Avatar billede nielle Nybegynder
14. september 2003 - 20:46 #3
<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")

Set f = fs.OpenTextFile(Server.MapPath("counter.txt"), 1)
Counter = f.ReadLine
Counter = Counter + 1
f.Close
Set f = Nothing

set f = fs.CreateTextFile("counter.txt", true)
f.WriteLine(Counter)
f.Close
Set f = Nothing

Set fs = Nothing
%>

Antal besøgende: <% =Counter %>
Avatar billede Slettet bruger
14. september 2003 - 20:53 #4
skal man så bare lave en txt fil og skrive 1 helt fra start og gemme den også skulle det virke?
Avatar billede nielle Nybegynder
14. september 2003 - 20:55 #5
Ja, en tekstfil (counter.txt) med indholdet 0 på en linje.

Dit script skal have skriverettigheder til det sted hvor filen ligger.
Avatar billede Slettet bruger
14. september 2003 - 21:03 #6
Den filer ikke tallet fra txt filen, hvad kan det skyldes?
Avatar billede nielle Nybegynder
14. september 2003 - 21:06 #7
Prøv at beskrive hvad der sker. Hvad er der f.eks. i tekstfilen efter at du har kørt scriptet? Kommer det nogen fejlmeddelelse? Hvad siger den? osx. osv.
Avatar billede Slettet bruger
14. september 2003 - 21:15 #8
Der sker faktisk ikke noget alt ser godt ud.. på siden står der "Antal besøgende:" og det er det.. Det ser ud til at alt virker, men at den bare ikke lige hiver tallet fra txt filen ud.
Avatar billede nielle Nybegynder
14. september 2003 - 21:18 #9
Hvad står der i counter.txt filen bagefter?
Avatar billede Slettet bruger
14. september 2003 - 21:20 #10
Der står 0 i filen (ikke mere overhoved hverken tømme linier eller noget... Filen hedder counter.txt.
Avatar billede nielle Nybegynder
14. september 2003 - 21:26 #11
Mystisk at der står 0. Det der skrives til filen er jo indholdet af Counter-variablen og som du siger så resultere denne ikke i at der bliver skrevet noget ud på skærmen. Den værdi som står på skærmen burde være den samme som den der er i filen.

Noget tyder altså på at counter.txt slet ikke bliver overskrevet. En lille hurtig test for at afgøre dette er at skrive noget andet i filen - prøv med 13 - og så køre scriptet igen. Hvis der stadig står 13 bagefter så er filen ikke blevet rørt.
Avatar billede Slettet bruger
14. september 2003 - 21:27 #12
så bliver den ikke rørt
Avatar billede nielle Nybegynder
14. september 2003 - 21:30 #13
Så går vi igang med fejlfindingen for alvor.

Prøv først at udskrive værdien af Server.MapPath("counter.txt")

Stemmer den overens med den faktiske placering af filen?
Avatar billede Slettet bruger
14. september 2003 - 21:39 #14
Skal jeg lave en fil der indeholder.

<%
Server.MapPath("counter.txt")
%>

?
Avatar billede nielle Nybegynder
14. september 2003 - 21:42 #15
Nej, du starter bare din nuværende kode med en:

Response.Write(Server.MapPath("counter.txt"))

Dette skulæle gerene fortælle hvor scriptet på haddisken forventer at finde counter.txt filen. Denne position skal også helst passe med det sted hvor du rent faktisk har placeret filen.
Avatar billede Slettet bruger
14. september 2003 - 21:47 #16
Er det rigtigt?

<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")

Response.Write(Server.MapPath("counter.txt"))
Counter = f.ReadLine
Counter = Counter + 1
f.Close
Set f = Nothing

set f = fs.CreateTextFile("counter.txt", true)
f.WriteLine(Counter)
f.Close
Set f = Nothing

Set fs = Nothing
%>
Avatar billede nielle Nybegynder
14. september 2003 - 21:48 #17
Korrekt.
Avatar billede Slettet bruger
14. september 2003 - 21:51 #18
Microsoft VBScript runtime error '800a0046'

Permission denied

/default.asp, line 10

Hvad betyder denne fejl?
Avatar billede nielle Nybegynder
14. september 2003 - 21:55 #19
Det ville nu hjælpe mig meget hvis du fortalte mig hvislken linje der var nr. 10.

Mit gæt er dog at dit script ikke har skrive rettigheder til at skrive til en fil (det er ikke nok at du har det - skriptet skal også have det). Hvis det er rigtigt så kan du ikke få lov til at gemme i tekst-filen.
Avatar billede Slettet bruger
14. september 2003 - 22:42 #20
set f = fs.CreateTextFile("counter.txt", true)
Avatar billede nielle Nybegynder
14. september 2003 - 22:53 #21
Det betyder at scriptet ikke har skriverettigheder i det bibliotek. Det bliver du nødt til at tildele det før at du kan komme videre.
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel