Avatar billede larsen45 Juniormester
10. august 2008 - 15:31 Der er 6 kommentarer og
1 løsning

Session / Cookie asp hjælp tak

Lidt hjælp tak

Jeg har en side som tæller hits og opdatere dem i databasen.
Mit problem er at disse hits, som bliver talt op i databasen, kun skal tælles op hver 20 min ca. sådan at folk ikke bare opdatere siden flere gang, og så opdatere databasen sig også derefter.
Kun 1 post registering pr. 20 min. pr. person.

Når der bliver klikket på dette link, skal det kun tælles som en visning. hver 20 min.
-------------------------------------------------
<a href="side.asp?id=<%=rs("id")%>"
-------------------------------------------------

Her har jeg update delen, som jeg gerne vil have en if session på. Og evetuelt cookie afhængig af hvad der er den bedste løsning
-------------------------------------------------
<%
strSQL = "UPDATE tabel SET hits = hits +1 where id = " & request.querystring("id")
conn.execute(strSQL)
%>
-------------------------------------------------
Avatar billede beddet Nybegynder
10. august 2008 - 17:37 #1
Sådan som jeg lige forstod det, så burde du være i stand til at bruge sessions til dette.

Du skal have din "Session.Timeout = 20" for 20 minutter


if not session("tid") = true then
  if request.querystring("id") <> "" then
    session("tid") = true
    session.timeout = 20
  end if
response.write "du har nu set en side"
end if

if session("tid") = true then
response.write "du har allerede set siden engang inden for de sidste 20 minutter"
else
strSQL = "UPDATE tabel SET hits = hits +1 where id = " & request.querystring("id")
conn.execute(strSQL)
end if

Jeg ville nok prøve noget i den stil, er ikke helt sikker om det gør hvad du skal bruge, kan være andre lige kan se lyset hehe
Avatar billede larsen45 Juniormester
10. august 2008 - 18:18 #2
Hejsa beddet

Tak for input.

Jeg synes bare ikke det fungere som ønsket.
Jeg forklarer lige nærmere.

Hvor gang folk har været inde, og læse et post indlæg fra databasen.
Vil jeg gerne have at det bliver talt 1 gang. Men hvis så samme person hopper ind og læser post indlægget igen indenfor 20 min. skal dette ikke registeres i databasen.
Så vi skal have fat i nået id=<%=rs("id")%> på hver enkelte post.

Bare lige hvordan???
Avatar billede beddet Nybegynder
10. august 2008 - 22:01 #3
Ah ok, ja så skal det laves på en lidt anden måde, jeg kan lige kigge lidt videre på koden i morgen når jeg lige har bedre tid, men det er muligt at bruge session stadig

Når man så går ind og læser en post sætter man 2 sessions, en med id'et på den post man har læst og så en dato og så kan man tjekke på de 2. Dato formatet i session skal nok formateres til kun at gemme time og minutter så det kan være lidt nemmere at tjekke på.

og så er det bare at lave noget

if session("klokken") - now(minutter) <= 0 then
'opdater tabel, tæl op
else
'ikke tæl op
end if


noget i den stil vil jeg tro ville virke
Avatar billede larsen45 Juniormester
10. august 2008 - 22:53 #4
Okay på den måde.
håber du for tid imorgen eller senere idag til at kigge nærmere på sagen.
Avatar billede beddet Nybegynder
10. august 2008 - 23:38 #5
Jeg har lige kigget problemet igennem igen, og du skal lave din session lidt om, (jeg ved ikke om det er er teknisk muligt dog) men i stedet bare for at sætte en alm session så skal du have 2 værdier i den.

Session("id") = now() &  " + " & request.querystring("id")

noget i den stil, så har du tidspunktet for hver post du læser, jeg ved ikke om man kan gøre det på den måde og i så fald hvordan man nemmest kan få fat på de 2 værdier der ligger i sessionen.

Hvis man ikke kan gøre det sådan så tror jeg at du er nødt til at gemme det i en cookie, og der kan jeg egentligt ikke hjælpe dig.

Men så har du et udgangspunkt at gå efter, med at gemme et post id og et tidspunkt og så hente de ting ud fra cookien igen.

Håber det var til en hjælp
Avatar billede larsen45 Juniormester
11. august 2008 - 00:00 #6
jo tak det hjælper alt sammen.
Avatar billede larsen45 Juniormester
26. august 2008 - 17:53 #7
lukker
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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