|
| Brug af session, tror jeg nok Fra : Flemming Jensen |
Dato : 03-06-02 17:46 |
|
Hejsa
Jeg har lavet en hit counter, som jeg har smidt på min hjemmeside, men jeg
kan ikke få den til at virke ordentligt. Den plusser et hit hver gang man
går ind på forsiden, hvor counteren er. Det er ikke optimalt, da hvis man
går ind på et andet link og så tilbage til forsiden plusser den et hit igen.
Så samme brugere kan sagtens komme til at plusse 10 hits, hvis brugeren
skifter mellem andre sider og forsiden ofte. Jeg regner med at jeg skal
bruge session på en eller anden måde, men jeg kan ikke helt gennemskue
hvordan.
Tak
__
Flemming Jensen
| |
Mark S. Rasmussen (03-06-2002)
| Kommentar Fra : Mark S. Rasmussen |
Dato : 03-06-02 17:53 |
|
If Session("stat") = "" Then
'Forøg counter
Session("stat") = "done"
End If
Mvh Mark
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 18:24 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> skrev i en meddelelse
news:83NK8.17262$N46.727750@news010.worldonline.dk...
> Hejsa
>
> Jeg har lavet en hit counter, som jeg har smidt på min >hjemmeside
Jeg fandt selv en løsning, men din var lidt mere enkel, så tak for det Mark
=) Nu har jeg bare et andet spørgsmål.
Jeg vil have at counteren ikke skal opdatere når jeg selv går ind på siden.
Hver gang jeg laver en ændring og går ind og kigger hvordan det ser ud,
opdaterer den jo nemlig også, altså ikke så meget mere efter jeg har fået
session på counteren, men den gør det jo stadig. Jeg har fast IP, så er det
ikke muligt at få den til at tjekke IP'en og hvis det er min, så ikke
opdatere counteren? Og hvordan gør jeg det?
Tak
__
Flemming Jensen
| |
Mark S. Rasmussen (03-06-2002)
| Kommentar Fra : Mark S. Rasmussen |
Dato : 03-06-02 18:27 |
|
> Jeg vil have at counteren ikke skal opdatere når jeg selv går ind på
siden.
> Hver gang jeg laver en ændring og går ind og kigger hvordan det ser ud,
> opdaterer den jo nemlig også, altså ikke så meget mere efter jeg har fået
> session på counteren, men den gør det jo stadig. Jeg har fast IP, så er
det
> ikke muligt at få den til at tjekke IP'en og hvis det er min, så ikke
> opdatere counteren? Og hvordan gør jeg det?
Joda, det er simpelt nok :)
If Session("stat") = "" AND Request.ServerVariables("REMOTE_ADDR") <>
"din.faste.ip" Then
'Forøg counter
Session("stat") = "done"
End If
Mvh Mark
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 18:41 |
|
> Joda, det er simpelt nok :)
>
> If Session("stat") = "" AND Request.ServerVariables("REMOTE_ADDR") <>
> "din.faste.ip" Then
> 'Forøg counter
> Session("stat") = "done"
> End If
>
> Mvh Mark
Tak for det. Du har ret i at det er ret simpelt, men jeg kendte ikke
Request.ServerVariables("REMOTE_ADDR"). Hvis jeg bare kendte alle de der,
ville det være lettere :))
__
Flemming Jensen
| |
Jesper Stocholm (03-06-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 03-06-02 18:44 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> wrote in news:7TNK8.17279
$N46.731197@news010.worldonline.dk:
>> If Session("stat") = "" AND Request.ServerVariables("REMOTE_ADDR") <>
>> "din.faste.ip" Then
>> 'Forøg counter
>> Session("stat") = "done"
>> End If
>
> Tak for det. Du har ret i at det er ret simpelt, men jeg kendte ikke
> Request.ServerVariables("REMOTE_ADDR"). Hvis jeg bare kendte alle de der,
> ville det være lettere :))
der findes flere af dem rundt omkring. Én af dem kan du finde her
http://asp.stocholm.dk/servervariables.asp
--
Jesper Stocholm
http://stocholm.dk
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 18:49 |
|
> If Session("stat") = "" AND Request.ServerVariables("REMOTE_ADDR") <>
> "din.faste.ip" Then
> 'Forøg counter
> Session("stat") = "done"
> End If
>
> Mvh Mark
Request.ServerVariables("REMOTE_ADDR") retunerer min LAN IP, hvorfor ikke
den rigtige IP?
| |
Jesper Stocholm (03-06-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 03-06-02 18:53 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> wrote in news:e_NK8.17280
$N46.731428@news010.worldonline.dk:
> Request.ServerVariables("REMOTE_ADDR") retunerer min LAN IP, hvorfor ikke
> den rigtige IP?
går du igennem en proxy på vej ud ? Hvis det er tilfældet, så kig på
HTTP_X_FORWARDED_FOR ... nogle proxier medsender den spørgende IP-adresse.
Hvis dette heller ikke er tilfældet, så vil en mulig (nem) løsning for dig
være at sætte en unik cookie på din klient, som der så testes for inden du
opdaterer din counter.'
--
Jesper Stocholm
http://stocholm.dk
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 18:58 |
|
> går du igennem en proxy på vej ud ? Hvis det er tilfældet, så kig på
> HTTP_X_FORWARDED_FOR ... nogle proxier medsender den spørgende IP-adresse.
> Hvis dette heller ikke er tilfældet, så vil en mulig (nem) løsning for dig
> være at sætte en unik cookie på din klient, som der så testes for inden du
> opdaterer din counter.'
> --
> Jesper Stocholm
> http://stocholm.dk
Ja, det gør jeg, men det virkede desværre ikke. Det jeg skulle bruge det
til, var bare at tjekke om det er mig, som går ind på siden, og hvis det er
det, så ikke opdatere counteren, så jeg kan vel bare bruge SERVER_NAME, da
jeg server fra min egen computer. Det er jo ikke andre end mig, det har det
samme SERVER_NAME. Hvis det her ikke holder, så giv mig lige besked :)
Tak
__
Flemming Jensen
| |
Jesper Stocholm (03-06-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 03-06-02 19:12 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> wrote in
news:07OK8.17284$N46.732157@news010.worldonline.dk:
>> går du igennem en proxy på vej ud ? Hvis det er tilfældet, så kig på
>
> Ja, det gør jeg, men det virkede desværre ikke. Det jeg skulle bruge
> det til, var bare at tjekke om det er mig, som går ind på siden, og
> hvis det er det, så ikke opdatere counteren, så jeg kan vel bare bruge
> SERVER_NAME, da jeg server fra min egen computer. Det er jo ikke andre
> end mig, det har det samme SERVER_NAME. Hvis det her ikke holder, så
> giv mig lige besked :)
det lyder sådan set meget rimeligt ... men en simpel cookie ville nu også
kunne gøre det :)
--
Jesper Stocholm
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 19:16 |
|
> det lyder sådan set meget rimeligt ... men en simpel cookie ville nu også
> kunne gøre det :)
>
> --
> Jesper Stocholm
Jeg har aldrig brugt de cookies til noget(jeg er også stadig nybegynder i
asp). Man kan jo altid bare slette sine cookies, og så virker koden jo ikke
optimalt. Derfor er jeg ikke så vild med dem. Jeg skulle også bruge en til
en afstemningsboks jeg har lavet, så folk ikke kunne stemme flere gange hver
dag, men kun en gang hver månede, men hvis folk så bare sletter den cookie,
kan de jo godt alligevel!
__
Flemming Jensen
| |
Jesper Stocholm (03-06-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 03-06-02 19:24 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> wrote in
news:6nOK8.17288$N46.733233@news010.worldonline.dk:
>> det lyder sådan set meget rimeligt ... men en simpel cookie ville nu
>> også kunne gøre det :)
>
> Jeg har aldrig brugt de cookies til noget
det synes jeg da er lidt synd [1].
> (jeg er også stadig nybegynder
> i asp). Man kan jo altid bare slette sine cookies, og så virker koden
> jo ikke optimalt. Derfor er jeg ikke så vild med dem. Jeg skulle også
> bruge en til en afstemningsboks jeg har lavet, så folk ikke kunne
> stemme flere gange hver dag, men kun en gang hver månede, men hvis folk
> så bare sletter den cookie, kan de jo godt alligevel!
jamen ... var det ikke bare til dig selv, så du ikke selv opdaterede din
tæller ? Så kan du jo blot lade være med at slette denne cookie ... eller
lave en "hemmelig" side, hvor du kan opdatere den.
Hvis du laver en cookie med navn "secretcookie" og værdi "42" på din egen
computer, og ved din tæller skriver
if not request.cookies("secretcookie") = "42" then
' opdater tæller
end if
så kommer det jo ikke til at berøre andre end dig.
[1] Og så er en session i øvrigt også en cookie ... blot med markant
mindre levetid end "normale cookies (til browseren lukkes eller
session slutter)
--
Jesper Stocholm
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 19:37 |
|
> jamen ... var det ikke bare til dig selv, så du ikke selv opdaterede din
> tæller ? Så kan du jo blot lade være med at slette denne cookie ... eller
> lave en "hemmelig" side, hvor du kan opdatere den.
>
> Hvis du laver en cookie med navn "secretcookie" og værdi "42" på din egen
> computer, og ved din tæller skriver
>
> if not request.cookies("secretcookie") = "42" then
> ' opdater tæller
> end if
>
> så kommer det jo ikke til at berøre andre end dig.
>
>
> --
> Jesper Stocholm
Jeg må give dig ret. Servervariablen SERVER_NAME returnere jo samme værdi
til alle brugere, så det kunne jeg ikke alligevel. Jeg gør det på din måde
nu. Det er nok alligevel en af de bedre idéer :))
__
Flemming Jensen
http://cyberorc.lir.dk
| |
Mark S. Rasmussen (03-06-2002)
| Kommentar Fra : Mark S. Rasmussen |
Dato : 03-06-02 18:58 |
|
> Request.ServerVariables("REMOTE_ADDR") retunerer min LAN IP, hvorfor ikke
> den rigtige IP?
Når du tester din side på localhost, så returnerer den altid din Lan ip.
Prøv at tilgå din side vha din ip.
Mvh Mark
| |
Jakob Andersen (03-06-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 03-06-02 19:40 |
|
"Mark S. Rasmussen" <mark@tv.dk> wrote in message
news:adg8sl$2m1a$1@news.cybercity.dk...
> If Session("stat") = "" AND Request.ServerVariables("REMOTE_ADDR") <>
> "din.faste.ip" Then
> 'Forøg counter
> Session("stat") = "done"
> End If
Det mest optimale ville nok være at ligge en sådan counter i Global.asa da
man så også tæller besøgende der "hopper over" forsiden.
--
Jakob Andersen
| |
Flemming Jensen (03-06-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 03-06-02 19:43 |
|
> Det mest optimale ville nok være at ligge en sådan counter i Global.asa da
> man så også tæller besøgende der "hopper over" forsiden.
>
> --
> Jakob Andersen
Ja, men hvordan gør jeg det?? Og hvad er Global.asa?
__
Flemming Jensen
http://cyberorc.lir.dk
| |
Jakob Andersen (03-06-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 03-06-02 19:51 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> wrote in message
news:uMOK8.17295$N46.735317@news010.worldonline.dk...
> Ja, men hvordan gør jeg det?? Og hvad er Global.asa?
I roden af dit website laver du en fil kaldet Global.asa, i denne fil kan
man definere nogle globale eventhandlere som f.eks. fyres af hver gang en
brugersession starter. I filen skriver du følgende:
<script language="vbscript" runat="server">
Sub Session_OnStart
If Not Request.ServerVariables( "REMOTE_ADDR" ) = "Din ip her" Then
'Tæl counteren en op
End if
End Sub
</script>
--
Jakob Andersen
| |
Jesper Stocholm (03-06-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 03-06-02 19:54 |
|
"Flemming Jensen" <CyberOrc@hotmail.com> wrote in
news:uMOK8.17295$N46.735317@news010.worldonline.dk:
>> Det mest optimale ville nok være at ligge en sådan counter i
>> Global.asa da man så også tæller besøgende der "hopper over" forsiden.
>
> Ja, men hvordan gør jeg det?? Og hvad er Global.asa?
http://www.w3schools.com/asp/asp_globalasa.asp
:)
--
Jesper Stocholm
http://stocholm.dk
| |
|
|