webForumDet fria alternativet

räknare

ASP

26 svar · 665 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#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

Medlem 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

Medlem 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

Medlem 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]
Medlem 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 :(

Medlem 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

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

???

Medlem sedan nov. 20017 144 inlägg
#8

Tack Sico, men...

Det spelar ingen betydelse :(
Samma sak...

MVH Jesper

Medlem 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

???

Medlem sedan nov. 20017 144 inlägg
#10

TACK!

:)

Medlem sedan okt. 20005 273 inlägg
#11

oops :r

Medlem 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..

Medlem 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. :)

Medlem sedan maj 2000360 inlägg
#14

ok

Medlem sedan juni 200032 967 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,

Medlem sedan maj 2000360 inlägg
#16

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

Medlem sedan maj 200010 687 inlägg
#17

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

Medlem sedan juni 200032 967 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,

Medlem 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. :)

Medlem 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>
139 ms totalt · 2 externa anrop · v20260731065814-full.2ae45ccc
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)