Försöker att få en besöksräknare att fungera på min sida, men hittar inte rätt kod att skriva! Jag anropar en fil från min sida och ASP-scriptet körs och ska skapa en cookie som ska förhindra att samma besökare räknas flera gånger. Men ingen cookie skapas, och inga felmeddelanden! Vad gäller cookies så måste man sätta ett datum på varje cookie då den skall upphöra. Skrivs inget datum så kommer cookien att tas bort så fort browsern stängs:Problem med ASP räknare
Så här ser början på default.asp ut:
<!-- #include virtual="/adovbs.inc" -->
<!-- #include virtual="/count.asp" -->
<html>
<head>
<title>Min sida</title>
</head>
<body>
vad ska det sedan stå för att räknaren ska visa ett värde här?
Så här ser count.asp ut:
<!--#include file="adovbs.inc"-->
<%
present_page = Request.ServerVariables("SCRIPT_NAME")
' Gets the name of the current page
if Request.Cookies("leenasHitCount")(present_page) <> "Visited" then
' Checks to see if the cookie already exists for this page
' If if does then a count is not added and the rest of the code is discarded
' If it doesn't then we add the hit
set conn=server.createobject("adodb.connection")
ConnString = "DRIVER=Microsoft Access Driver (*.mdb);"
ConnString = ConnString & "DBQ=" &Server.MapPath("\databases\counter.mdb")
' The database is found in the root path in the databases folder
conn.Open ConnString
set rsRecord = Server.CreateObject("ADODB.RecordSet")
sqltext = "SELECT * FROM counter where page='" & present_page & "'"
rsRecord.Open sqltext,conn,3,3
' This db connection checks whether the page already exists in the database
' If it does then we just update the record.
' If it doesn't exist then we add a new record.
If rsRecord.recordcount = 0 then
' This uses an if statemtent if the page doesn't exist
set rs = Server.CreateObject("ADODB.RecordSet")
rs.cursorlocation = adUseServer
rs.CursorType = adOpenKeySet
rs.LockType = adLockOptimistic
rs.open "counter",conn, , ,adCmdTable
rs.addnew
rs("page") = present_page
rs("hitcount") = 1
rs("lasthit") = now()
RS.update
Response.Cookies("leenasHitCount")(present_page) = "Visited"
' The page has been visited and will not be counted again
else
' The page exists in the database
dim rs, formercount
set rs = Server.CreateObject("ADODB.RecordSet")
rs.cursorlocation = adUseServer
rs.CursorType = adOpenForwardOnly
rs.LockType = adLockOptimistic
sqlstate = "SELECT * FROM counter where page='" & present_page & "'"
rs.open sqlstate,conn, , ,adCmdText
hitcount = rs("hitcount")
rs("hitcount") = hitcount + 1
rs("lasthit") = now()
rs.update
Response.Cookies("leenasHitCount")(present_page) = "Visited"
' The page has been visited and will not be counted again
end if
end if
%> Sv: Problem med ASP räknare
Response.Cookies("leenasHitCount")(present_page) = "Visited"
Response.Cookies("leenasHitCount").Expires = dateadd("d", 365, now)
Ovanstående rad låter denna cookie finnas i ett år från idag. Se även kursen för cookies i ASP.
/Pelle