webForumDet fria alternativet

räknare

ASPur ASP

26 svar · 665 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Kan ngn tipsa hur jag kan snickra en räknare som plussar på 1 varje gång webläsaren uppdareras. Det hela spars i en cookie och nästa gång jag besöker den sida så kommer kakan ihåg var jag var sista gången så att säga.

om kaka = 0 then kaka=1
'uppdatera webläsare eller komma tillbaka ngn annan gång
kaka =2

OSV...

MVH Jesper

SicoMedlem sedan maj 20002 597 inlägg
#2

jag orkar inte sitta å förklara just nu såskickar en färdig räknare enligt din önskan.. har du problem så kan jag svara på dom

counter.asp

<%
Dim ObjCounterFile, ReadCounterFile, WriteCounterFile
Dim CounterFile
Dim CounterHits

Set ObjCounterFile = Server.CreateObject("Scripting.FileSystemObject")

CounterFile = Server.MapPath ("counter.txt") 

Set ReadCounterFile= ObjCounterFile.OpenTextFile (CounterFile, 1, True)

If Not ReadCounterFile.AtEndOfStream Then
CounterHits = Trim(ReadCounterFile.ReadLine)
If CounterHits = "" Then CounterHits = 0
Else
CounterHits = 0
End If

ReadCounterFile.Close
Set ReadCounterFile = Nothing

CounterHits = CounterHits + 1

Set WriteCounterFile= ObjCounterFile.CreateTextFile (CounterFile, True)
WriteCounterFile.WriteLine(CounterHits)
WriteCounterFile.Close
Set WriteCounterFile = Nothing

Set ObjCounterFile = Nothing
%>

Sen på sidan där nuffrorna ska visas:

<!--#include file="counter.asp" -->
<% =CounterHits %>

mvh sico

Jesper TMedlem sedan nov. 20017 144 inlägg
#3

Tack Sico, men om jag inte har helt fel så ser det ut som att det är en räknare som räknar uppåt för alla som skulle råka surfa in på den sidan.
Jag behöver en "personlig räknare" som kollar i en kaka vad det senaste nummret var.

MVH Jesper

icaaqMedlem sedan okt. 20005 273 inlägg
#4
[red]
If Request.Cookie("dinkaka").Haskeys Then
     Response.Cookie("dinkaka")("counter") = Request.Cookie("dinkaka")("counter") --1
Else
     Response.Cookie("dinkaka")("counter") = 1
End If
[/red]
SicoMedlem sedan maj 20002 597 inlägg
#5

jaha du menar så... kunde väll inte jag veta ;) men nu när jag tänker efter så kan jag förstå hur jag menar...
sorry :(

Jesper TMedlem sedan nov. 20017 144 inlägg
#6

tack Icaaq, men....

När jag stänger webbläsaren och surfar tillbaka till sidan så är räknaren nollställd ju! :(
Jag skulle bli glad om den var kvar på den siffran som den var på när jag lämnade sidan sist.

MVH Jesper

SicoMedlem sedan maj 20002 597 inlägg
#7
dinkaka = Request.Cookie("dinkaka")("counter")
Response.Write dinkaka

???

Jesper TMedlem sedan nov. 20017 144 inlägg
#8

Tack Sico, men...

Det spelar ingen betydelse :(
Samma sak...

MVH Jesper

SicoMedlem sedan maj 20002 597 inlägg
#9
If Request.Cookie("dinkaka").Haskeys Then
     Response.Cookie("dinkaka")("counter") = Request.Cookie("dinkaka")("counter") --1
Else
     Response.Cookie("dinkaka")("counter") = 1
     Response.Cookie("dinkaka")("counter").Expires = Date + 1000
End I

???

Jesper TMedlem sedan nov. 20017 144 inlägg
#10

TACK!

:)

icaaqMedlem sedan okt. 20005 273 inlägg
#11

oops :r

henrikjohanssonMedlem sedan maj 2000360 inlägg
#12

Bara en fråga
Varför
Response.Cookie("dinkaka")("counter") = Request.Cookie("dinkaka")("counter") --1

och inte
Response.Cookie("dinkaka")("counter") = Request.Cookie("dinkaka")("counter") +1

gör det någon skillnad..

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#13

Tror att om man skriver + så kan det konkateneras, men skriver man -- så tvingas det att matematiskt adderas. :)

henrikjohanssonMedlem sedan maj 2000360 inlägg
#14

ok

@ndersMedlem sedan juni 200032 969 inlägg
#15

Man ska alltid se till att ha rätt subtyper på de variabler man arbetar med.

Att råka konkatenera med ett plustecken för att något av värdena är en sträng, är det värre än att tvinga fram ett type mismatch för att man försöker tvinga en addition till nämnda sträng?

Alltid typkonvertering om man inte är säker på vad man jobbar med.

Alltså: Använd plustecken för att addera tal. Använd ampersand (&) för att konkatenera strängar, och se till att värdena är av de subtyper du och funktionerna förväntar sig.

Mvh,

henrikjohanssonMedlem sedan maj 2000360 inlägg
#16

Vilka typer.. svarar så fort.. :P
Tack.. då vet jag det.

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#17

Håller med snabel. CLng() är en schysst funktion för att slippa kludd. :)

@ndersMedlem sedan juni 200032 969 inlägg
#18

Jag skriver bara vad jag tycker är rätt, så möt gärna mina argument, och rätta mig om jag har fel, ni där ute.

Mvh,

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#19

Ska man addera, subtrahera och göra andra matematiska saker så bör det vara tal man jobbar med och inte strängar. :)

Sen så förespråkar jag CLng och inte CInt som man ser mycket av. Detta p.g.a. CInt's begränsning på 32 767. Har man ett databasfält av typen int som är incremenerande så kan det ju gå över 32 767. Många småsystem kanske inte går över det, men skulle det göra det så är det inte kul att behöva ändra överallt. :)

voigtann1Medlem sedan juni 20019 519 inlägg
#20

Började leta i min första ASP bok här är en kod:

<%
If Request.Cookies("KAKA_namn") = "" And Request.Form("namn") = "" Then
Response.Redirect "KAKANY.ASP"
End If

If Request.Cookies("KAKA_namn") = "" Or Not Request.Form("namn") = "" Then
namn = Request.Form("namn")
Response.Cookies("KAKA_namn") = namn
Response.Cookies("KAKA_forsta") = Now
Response.Cookies("KAKA_senast") = Now
Response.Cookies("KAKA_antal") = "1"
forsta = Now
senast = Now
antal = 1

Else

namn = Request.Cookies("KAKA_namn")
senast = Request.Cookies("KAKA_senast")
forsta = Request.Cookies("KAKA_forsta")
antal = Request.Cookies("KAKA_antal")

antal = antal + 1

Response.Cookies("KAKA_senast") = Now
Response.Cookies("KAKA_antal") = antal

End If

Response.Cookies("KAKA_namn").Expires = "April 30, 2001"
Response.Cookies("KAKA_forsta").Expires = "April 30, 2001"
Response.Cookies("KAKA_senast").Expires = "April 30, 2001"
Response.Cookies("KAKA_antal").Expires = "April 30, 2001"

%>

<HTML><HEAD><TITLE>Baka baka kaka...</TITLE></HEAD>
<BODY>
<CENTER>
<H1>Välkommen igen <%=namn%></H1>
<TABLE BORDER = 1>
<TR>
<TD>Första gången du besökte sidan var:
<TD><%=forsta%>
</TR>
<TR>
<TD>Senaste gången du besökte sidan var:
<TD><%=senast%>
</TR>
<TR>
<TD>Totalt har du varit på denna sida:
<TD><%=antal%> gånger
</TR>
</TABLE>
<BR><BR>
<A HREF = "KAKA.ASP">Ladda om denna sida!</A>
</BODY></HTML>
130 ms totalt · 3 externa anrop · v20260731065814-full.c74b5be1
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)