statistiche di accesso

  • Creatore Discussione Creatore Discussione ferdi74
  • Data di inizio Data di inizio

ferdi74

Utente Attivo
2 Ago 2008
47
0
0
ciao a tutti, qualcuno sa dirmi come escudere in una selct più url predefiniti?..mi spiego meglio..
sto lavorando in asp js con dw, ho creato uno script che ad ogni accesso ( su diverse pagine ) ragistra un record con diverse variabili tra cui "HTTP_REFERER" per capire da dove proviene la visita..ora..quando l'utente è già nel sito e si sposta tra le pagine io ottengo dei referer tipo :http://www.miosito.it/ http://www.miosito.it/elenco.asp...e così via..volendo escludere queste pagine nell'interrogazione che mi stampa a video le statistiche come faccio ad impostare più url o un url con le eventuali path?..vi posto il codice che per il momento mi esclude solo l'url base..

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/connessione2.asp" -->
<%

var Recordset1__MMColParam = "http://www.miosito.it/";
( in questo punto come faccio a mettere più url o questo stesso più le eventuali path? )

if (String(Request("MM_EmptyValue")) != "undefined" &&
String(Request("MM_EmptyValue")) != "") {
Recordset1__MMColParam = String(Request("MM_EmptyValue"));
}
%>


<%
var Recordset1 = Server.CreateObject("ADODB.Recordset");
Recordset1.ActiveConnection = MM_connessione2_STRING;
Recordset1.Source = "SELECT * FROM accessi WHERE provenienza <> '"+ Recordset1__MMColParam.replace(/'/g, "''") + "' ORDER BY ID DESC";
Recordset1.CursorType = 1;
Recordset1.CursorLocation = 2;
Recordset1.LockType = 1;
Recordset1.Open();
var Recordset1_numRows = 0;
%>
<%
var Repeat1__numRows = 10;
var Repeat1__index = 0;
Recordset1_numRows += Repeat1__numRows;
%>

spero di essere stato chiaro..garzie a tutti in anticipo..:-)
 
...
Recordset1.Source = "SELECT * FROM accessi WHERE provenienza <> '"+ Recordset1__MMColParam.replace(/'/g, "''") + "' ORDER BY ID DESC";
...
%>
Ciao :)

Se usi Access, potresti provare inserendo un LEFT nella WHERE della query.
Mi spiego. Fai una verifica che i primi tot caratteri siano diversi da http: // www . tuosito. com/

Ovvero, per esempio, qualcosa tipo:
Recordset1.Source = "SELECT * FROM accessi WHERE LEFT(provenienza, 23)<> 'http://www.tuosito.com/' ORDER BY ID DESC";

Non ho provato, è un'idea!
:byebye:
 
mmm...pole..innanzitutto ti ringrazio..l'idea mi sembrava molto interessante..però purtroppo non funziona..anzi adesso non mi scarta neanche più l'url di base..mi stampa tutto??????..:-(..
 
Non ti preoccupare, sbagliando si impara ;)

Il 23 dell'esempio che ti ho dato rappresenta il numero di caratteri da confrontare nel LEFT().

Nel tuo caso non va bene perchè la stringa http://www.ferdinandosignorelli.com/ ha più di 23 caratteri.
Recordset1.Source = "SELECT * FROM accessi WHERE LEFT(provenienza, 23)<> 'http://www.ferdinandosignorelli.com/' ORDER BY ID DESC";

Nel tuo caso devi fare:
Recordset1.Source = "SELECT * FROM accessi WHERE LEFT(provenienza, 36)<> 'http://www.ferdinandosignorelli.com/' ORDER BY ID DESC";
SE ho contato bene :D
 
Perdonatemi se mi intrommetto, io risolverei il problema a monte......

IF instr(server.requestvariables("HTTP_REFERER"),"www.miosito.it") < 1 THEN

scrivo sul database

END IF

in questo modo controllo se il REFERER è diverso dal mio sito stesso e quindi se è diverso scrivo sul database altrimenti ignoro.

A mio avviso sarebbe meglio anche perché si eviterebbe di riempire il DB di cose che non servono....risultato

+ velocità
- spazio utilizzato
+ prestazioni del database

Ciao. :byebye:
 
ciao daviduccio..grazie del consiglio..;-)..cmq a me non dispiace cm abbiamo risolto perchè così ho un doppio controllo nelle statistiche..cn uno conto i recordset totali degli accessi al sito escludendo tutti i recordset degli spostamenti tra le pagine interne stampandomi l'ip, la provenienza e la data degli accessi..e con l'altro vedo se voglio cn un link di collegamento ed una selct per ogni accesso il percorso delle pagine visitate dall'utente....ovviamente cm dici il db è più pesante però ci sn più informazioni..;-)...cmq grazie lo stesso terrò presente la dritta per altre esigenze del genere..ciaooo..
 

Discussioni simili