webForumDet fria alternativet

update 1 gång!?

ASP

15 svar · 273 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

hur gör man så att en sida uppdateras bara EN gång... har nämligen en inloggningsida.. när man kommer in läggs +1 på i db:n.
Problem: Man kan återvända till den sida vilket leder till en ny uppdatering = inte bra, inte rätt resultat!?

hjälp!

------------------
grodan -besök den nu!!!

Medlem sedan jan. 20013 406 inlägg
#2

Du vill alltså göra någon slags statistik funktion för unika träffar.

Jag skulle använda mig av en cookie
som lagrar ett värde. När han sedan besöker sajten nästa gång så känner sidan av att personen varit där en gång tidigare.

------------------
Adde

Medlem sedan dec. 20002 526 inlägg
#3

hmm...har aldrig skapat en cookie... hur gör man det?

------------------
grodan -besök den nu!!!

Medlem sedan maj 200010 687 inlägg
#4

Skriva:
Response.Coookies("namn")=värde

Läsa:
Request.Coookies("namn")

När man skriver kan det även vara vettigt att ha med:
Response.Coookies("namn").Expires="31 December, 2001"

Cookies skrivs med två o, men forumet verkar ha någon spärr mot att skriva .Coo.. :)

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Söndagen den 3 juni kommer webForum-servern att tas ner för systemunderhåll.
Avbrottet kommer att ske under dagtid. För uppdaterad information se Serverstatus.

Medlem sedan dec. 20002 526 inlägg
#5

okej...men hur ska jag lägga koden... och vart lägger man update satsen..? förklara mer

------------------
grodan -besök den nu!!!

Medlem sedan dec. 19998 577 inlägg
#6

Erik,

Man får använda första bokstavens decimalnummer...
C = 67 = C

Cookies :)

Andra tecken: http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/ISO-8859-1.asp

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

[Redigerat av Vide den 03 jun 2001]

[Redigerat av Vide den 03 jun 2001]

Medlem sedan maj 200010 687 inlägg
#7

Något sånt här kan du ju skriva:

If Request.&#67;ookies("Counter") <> "beenhere" Then
'Koden som uppdaterar databasen.
Response.&#67;ookies("Counter") = "beenhere"
End If

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

Söndagen den 3 juni kommer webForum-servern att tas ner för systemunderhåll.
Avbrottet kommer att ske under dagtid. För uppdaterad information se Serverstatus.

Medlem sedan dec. 20002 526 inlägg
#8

hmmm varför vill den inte skriva cookiesen...??? vill också veta om det går att göra så att om man inte besökt den sidan som den här lilla kodsnutten ligger på ca 5 timmar så får den updatera igen... men inte om besöket på den sidan va för 1 timma sen eller 3 timmar sen osv...

<%
If Request.Coookies("Counter") <> "beenhere" Then
sql4 = "update users set antalBesok = antalBesok + 1 where id = " & session("id")
Databas4.Execute(SQL4)
else
Response.Coookies("Counter") = "beenhere"
End If
%>

anledning till att det är 3 st ord i coookies är för man inte fick skriva med två st "o" :(

------------------
grodan -besök den nu!!!

Medlem sedan dec. 20002 526 inlägg
#9

hallå? jag behöver snabb hjälp!

------------------
grodan -besök den nu!!!

Medlem sedan juni 200152 inlägg
#10

hmm om jag inte har fel så har jag för mig att man använder kakor enligt följande:

response.coookies("namn").Expires=datum 'hur länge kakan gäller
response.coookies("namn")("variabel")="värde" 'tilldelar en varibel i kakan ett värde

request.coookies("namn")("variabel") 'hämtar värdet

ville bara påpeka att om användaren har cookies avslaget så kommer räknaren räkna ett besök varje gång han laddar om sidan

------------------
jag är inte där du är

Medlem sedan dec. 20002 526 inlägg
#11

okej, men jag fattar inte ändå. Hur ska jag lägga datum så det är så att coookiesen går ut dagens datum, hur lägger jag update satsen...?

------------------
grodan -besök den nu!!!

Medlem sedan juni 200152 inlägg
#12

för att få cookie'n att gå ut idag typ 1 timme framåt eller nåt:

response.coookies("namn").Expires=now+(1/24)

om du plussar på ett tal på ett datum så räknas det i dygn...och 1 timme motsvarar 1/24 dygn.....

update-satsen är bara o lägga i en if-sats som du hade gjort tidigare...

------------------
jag är inte där du är

Medlem sedan dec. 20002 526 inlägg
#13

hallå!

skulle ngn vilja hjälpa mig med att få min If-sats att funka... jag vet ej hur jag ska göra den...

vill alltså att den sätter en coookie när man loggar in på start.asp, sedan om man återvänder till start.asp när man fortfarande är inloggad så ska den INTE uppdatera db:n... ? för att den ska uppdatera db:n nästa gång ska det ha gått 4 h..

------------------
grodan -besök den nu!!!

Medlem sedan dec. 200012 464 inlägg
#14

Kan du inte lagra tiden för besöket istället och jämföra.

<%
If datediff("h",cdate(Request.&#67ookies("Visited")),now()) > 4 Then
sql4 = "update users set antalBesok = antalBesok + 1 where id = " & session("id")
Databas4.Execute(SQL4)
else
Response.&#67ookies("Visited") = now()
End If
%>

Tror bara att du kan sätta expiration till ett datum.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 20002 526 inlägg
#15

tack LarsG, men jag tror jag löste det innan... jag la updaten i login.asp där man efter kollen av username och password skickas vidare till start.asp, login.asp kommer du ju aldrig till om du inte loggar in igen... ;e

------------------
grodan -besök den nu!!!

Medlem sedan dec. 20002 526 inlägg
#16

tack LarsG, men jag tror jag löste det innan... jag la updaten i login.asp där man efter kollen av username och password skickas vidare till start.asp, login.asp kommer du ju aldrig till om du inte loggar in igen... ;)

------------------
grodan -besök den nu!!!

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)