Hejsa...
Jeg har lidt bøvl med at få sat en cookie...
Jeg har efterhånden lavet en del hjemmesider, hvor jeg gerne vil have sat en
meget simpel tæller på, som folk selv kan logge på og se hvor mange hits,
der har været (ret primitivt...).
På det site, der skal tælles, har jeg sat følgende script på alle de sider,
ser skal tælles - ID'et bliver dog ændret fra site til site...:
<script language="JavaScript" type="text/javascript"><!--
var DocRef; DocRef=document.referrer; if(top.document.referrer!=null)
DocRef=top.document.referrer;
document.write("<img src='
http://127.0.0.1/Counter/Counter.asp?Ref=|" +
DocRef
+ "|&userAgent=" + navigator.userAgent + "&usrID=1"
+ "&usrIDK=c4ca4238a0b923820dcc509a6f75849b' border='0' height='0'
width='0'>");
//--></script>
....ovenstående virker også perfekt... Eksterne sites bliver talt helt
rigtigt (næsten). For ikke at tælle ét besøg flere gange, ville jeg have en
session-variabel som var "True", når siden var/er talt første gang. Det
virkede ikke. Derefter førsøgte jeg med at lave en cookie. Men det virkede
heller ikke. I nedenstående kode, bruger jeg både session og cookie...:
' = = = = = = = = = = = = = = = C L I P S T A R T = = = = = = = = = = = =
= = =
If Session("seCount" & session.SessionID) = "" AND
Request.Cookies("CountedToday_" & strUserID) = "" Then
'Skriver en cookie, så brugeren kun bliver talt én gang pr. 25ende minut.
Response.Cookies("CountNow_" & strUserID) = "True"
Response.Cookies("CountNow_" & strUserID).Expires = Date & " " &
FormatDateTime(Now() + 0.0138888889, 4)
Session("seCount") = "Hit"
If Session("seCount" & session.SessionID) = "" OR
Request.Cookies("CountedToday_" & strUserID) = ""
strSQL = "SELECT * FROM tblCountSite WHERE (tblCountSite.CountSiteID = 0)"
' Skaber et recordset udfra SQL strengen
Set rsCount = Server.CreateObject("ADODB.Recordset")
rsCount.CursorType = adOpenKeyset
rsCount.LockType = adLockOptimistic
rsCount.Open strSQL, myConnCount
rsCount.AddNew
rsCount("CountUserID_Ref") = strUserID
rsCount("SessionID") = Session.SessionID
rsCount("Referent") = Trim(fixQuotes(Session("Referent")))
rsCount("DatoTid") = Trim(Now())
rsCount.Update
rsCount.Close
Set rsCount = Nothing
End If
End If 'Tjek på Session("Count")
' = = = = = = = = = = = = = = = C L I P E N D = = = = = = = = = = = = = =
=
....jeg har også forsøgt at tilføje denne linie til ovenstående:
'Response.Cookies("CountNow_" & strUserID).Domain = "domænet, hvorfra
tælleren aktiveres"
Scriptet virker perfekt, hvis jeg vil tælle det site, hvor selve tælleren
ligger på - men når jeg skal tælle andre sites, går det galt... Så genereres
cookien ikke - og Session-variablen bliver overskrevet med en ny!?!
Er det nogle, der har et forslag til, hvad der kan være gået galt og til,
hvordan jeg retter det?
mvh.
Andreas Slot-Henriksen