Buongiorno ,
una cosa che assolutamente non capisco o non conosco : ho inserito un contatore di pagine lato server il cui codice era a disposizione su questo sito. Per altri motivi ho inserito una seconda volta il medesimo codice , gli script scrivono tabelle diverse le quali , giorno per giorno , incrementano un contatore di una riga di tabella. Il problema é che danno risultati , come pagine prodotte dal sito , assolutamente diversi , uno il doppio dell'altro. Entrambi gli script sono in un file di inclusione che e' presente in tutte le pagine.
Il sito e' in classic asp.
CODICE PRIMO SCRIPT CONTA PAGINE :
----------------------------------
<%
ggd = Day(Date())
mmd = Month(Date())
aad = Year(Date())
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mdb-database/contapdiretto.mdb")
rs.Open "SELECT * FROM contatore WHERE gg = '" & ggd & "' AND mm = '" & mmd & "' AND aa = '" & aad & "'", cn, 1
if rs.EOF Then
cn.Execute("INSERT INTO contatore (gg, mm, aa, au, pv) VALUES ('" & ggd & "', '" & mmd & "', '" & aad & "', 1, 1)")
Session("contatorediretto") = "OK"
Else
cn.Execute("UPDATE contatore SET pv = pv + 1 WHERE gg = '" & ggd & "' AND mm = '" & mmd & "' AND aa = '" & aad & "'")
If Session("contatorediretto") = "" Then
cn.Execute("UPDATE contatore SET au = au + 1 WHERE gg = '" & ggd & "' AND mm = '" & mmd & "' AND aa = '" & aad & "'")
Session("contatorediretto") = "OK"
End If
End If
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
CODICE DI RICHIAMO DEL SECONDO SCRIPT :
-------------------------------------------
<script type="text/javascript" src="/contap-w.asp"></script>
Come detto prima entrambi gli scritp sono presenti nello stesso file di inclusione uno di seguito all'altro e trovano collocazione all'interno dei tag <HEAD> </HEAD>. Il codice del secondo scritp quello richiamato nel source "contap-w.asp" é identico al primo script. A scanso di equivoci copio e incollo anche il codice di "contap-w.asp" :
CONTAP-W.ASP :
----------------------
<%@Language = VBScript%>
<!--#include file="contap-0.asp"-->
<%
Call CnOpen()
rs.Open "SELECT * FROM contatore WHERE gg = '" & gg & "' AND mm = '" & mm & "' AND aa = '" & aa & "'", cn, 1
If rs.EOF Then
cn.Execute("INSERT INTO contatore (gg, mm, aa, au, pv) VALUES ('" & gg & "', '" & mm & "', '" & aa & "', 1, 1)")
Session("contatore") = "OK"
Else
cn.Execute("UPDATE contatore SET pv = pv + 1 WHERE gg = '" & gg & "' AND mm = '" & mm & "' AND aa = '" & aa & "'")
If Session("contatore") = "" Then
cn.Execute("UPDATE contatore SET au = au + 1 WHERE gg = '" & gg & "' AND mm = '" & mm & "' AND aa = '" & aa & "'")
Session("contatore") = "OK"
End If
End If
rs.Close
Call CnClose()
%>
CONTAP-0.ASP :
-------------------
<%
Const partenza = 2010
Dim cn, rs
Function CnOpen()
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mdb-database/contap.mdb")
End Function
Function CnClose()
Set rs = Nothing
cn.Close
Set cn = Nothing
End Function
Dim gg, mm, aa, mese, anno, arr_mese, conta, colore, tot_au, tot_pv
gg = Day(Date())
mm = Month(Date())
aa = Year(Date())
arr_mese = Array("gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic")
%>
Il primo script scrive o incrementa il contatore di una tabella del data base "A" ; il secondo script scrive o incrementa il contatore di un'altra tabella del data base "B" I contatori delle 2 tabelle sono assolutamente diversi , nell'ambito della stessa giornata.
Perche' ?
Grazie , saluti
una cosa che assolutamente non capisco o non conosco : ho inserito un contatore di pagine lato server il cui codice era a disposizione su questo sito. Per altri motivi ho inserito una seconda volta il medesimo codice , gli script scrivono tabelle diverse le quali , giorno per giorno , incrementano un contatore di una riga di tabella. Il problema é che danno risultati , come pagine prodotte dal sito , assolutamente diversi , uno il doppio dell'altro. Entrambi gli script sono in un file di inclusione che e' presente in tutte le pagine.
Il sito e' in classic asp.
CODICE PRIMO SCRIPT CONTA PAGINE :
----------------------------------
<%
ggd = Day(Date())
mmd = Month(Date())
aad = Year(Date())
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mdb-database/contapdiretto.mdb")
rs.Open "SELECT * FROM contatore WHERE gg = '" & ggd & "' AND mm = '" & mmd & "' AND aa = '" & aad & "'", cn, 1
if rs.EOF Then
cn.Execute("INSERT INTO contatore (gg, mm, aa, au, pv) VALUES ('" & ggd & "', '" & mmd & "', '" & aad & "', 1, 1)")
Session("contatorediretto") = "OK"
Else
cn.Execute("UPDATE contatore SET pv = pv + 1 WHERE gg = '" & ggd & "' AND mm = '" & mmd & "' AND aa = '" & aad & "'")
If Session("contatorediretto") = "" Then
cn.Execute("UPDATE contatore SET au = au + 1 WHERE gg = '" & ggd & "' AND mm = '" & mmd & "' AND aa = '" & aad & "'")
Session("contatorediretto") = "OK"
End If
End If
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
CODICE DI RICHIAMO DEL SECONDO SCRIPT :
-------------------------------------------
<script type="text/javascript" src="/contap-w.asp"></script>
Come detto prima entrambi gli scritp sono presenti nello stesso file di inclusione uno di seguito all'altro e trovano collocazione all'interno dei tag <HEAD> </HEAD>. Il codice del secondo scritp quello richiamato nel source "contap-w.asp" é identico al primo script. A scanso di equivoci copio e incollo anche il codice di "contap-w.asp" :
CONTAP-W.ASP :
----------------------
<%@Language = VBScript%>
<!--#include file="contap-0.asp"-->
<%
Call CnOpen()
rs.Open "SELECT * FROM contatore WHERE gg = '" & gg & "' AND mm = '" & mm & "' AND aa = '" & aa & "'", cn, 1
If rs.EOF Then
cn.Execute("INSERT INTO contatore (gg, mm, aa, au, pv) VALUES ('" & gg & "', '" & mm & "', '" & aa & "', 1, 1)")
Session("contatore") = "OK"
Else
cn.Execute("UPDATE contatore SET pv = pv + 1 WHERE gg = '" & gg & "' AND mm = '" & mm & "' AND aa = '" & aa & "'")
If Session("contatore") = "" Then
cn.Execute("UPDATE contatore SET au = au + 1 WHERE gg = '" & gg & "' AND mm = '" & mm & "' AND aa = '" & aa & "'")
Session("contatore") = "OK"
End If
End If
rs.Close
Call CnClose()
%>
CONTAP-0.ASP :
-------------------
<%
Const partenza = 2010
Dim cn, rs
Function CnOpen()
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mdb-database/contap.mdb")
End Function
Function CnClose()
Set rs = Nothing
cn.Close
Set cn = Nothing
End Function
Dim gg, mm, aa, mese, anno, arr_mese, conta, colore, tot_au, tot_pv
gg = Day(Date())
mm = Month(Date())
aa = Year(Date())
arr_mese = Array("gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic")
%>
Il primo script scrive o incrementa il contatore di una tabella del data base "A" ; il secondo script scrive o incrementa il contatore di un'altra tabella del data base "B" I contatori delle 2 tabelle sono assolutamente diversi , nell'ambito della stessa giornata.
Perche' ?
Grazie , saluti