Contatore di accessi

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
Ciao ragazzi, avrei bisogno di un consiglio. Come posso contare le visite su molte pagine create dinamicamente?
L'ideale sarebbe contare le query alla pagina e inserirle nel database per poi mostrarle nel sistema di gestione dei contenuti. E' possibile contare le query alla pagina tramite server, pensavo tipo alle variabili $_GET $_POST e $_COOKIE?
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Io uso shinystat, è molto comodo, ha diverse versioni e diversi modelli di contatore, con la versione gratuita hai un bel po' di dati sotto controllo, in più ti notifica ogni settimana o ogni mese tramite mail
 

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
No volevo proprio creare il plugin da me per inserirlo nel modulo che costruisce la pagina, che a sua volta si autocompone con il relativo prodotto (sono migliaia).

Ho pensato ad una cosa del genere, e maccheronicamente ho scritto il seguente codice:

PHP:
if (($_GET['id_product']) == ($_SERVER['REQUEST_URI']) && (isset($_SESSION['user'])) {
query= "UPDATE accessi SET contatore=+1 WHERE id_accesso = id_product;
 

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
Allora questo è il modulo che sto costruendo per realizzare (si spera presto) il contatore di visite.
Ho due problemini e spero che qualcuno mi possa aiutare:

1. Devo unire le due chiavi primarie delle tabelle `products` id_product e `accessi` id_accesso. Ecco il risultato:
Codice:
Array
(
    [0] => Array
        (
            [id_product] => 587
            [0] => 587
        )

    [1] => Array
        (
            [id_product] => 589
            [0] => 589
        )

    [2] => Array
        (
            [id_product] => 590
            [0] => 590
        )


2.Non riesco a stampare gli eventuali errori delle query tramite metodo prepare();



Codice completo:

PHP:
<?php

/**
 * Plugin contatore di visite in php
 * PHP + PDO
 * 
 */

// Debug Tools //

//preize($_SERVER);
//preize($_SESSION);
//preize($_GET);
//preize(PDO::getAvailableDrivers());
//preize($PDO);

// Se la query string è stata eseguita aggiungi un +1 al contatore 

if (!isset($_SERVER['QUERY_STRING'])) {
	
	echo 'La query string non è impostata <br />';
	
}
	else {  
		
		echo 'La query string è: ' . $_SERVER['QUERY_STRING'] . '<br />';
		
		//Connessione col PDO tramite try/catch 
		
		  try {
			
		
		       $PDO = new DB($config['db']['type'], $config['db']['host'], $config['db']['name'], $config['db']['user'], $config['db']['passw']);
		       $PDO->setAttribute(PDO::ATTR_STATEMENT_CLASS, array( 'DBStatement', array($GLOBALS['db']) ) );
		       $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		
		      }
		
		      catch  (PDOException $e) { 
		      	

				echo 'Errore: ' . $e->getMessage();   
                
			                           }
		
		        //lancio la query
		
		        if ($PDO = new DB($config['db']['type'], $config['db']['host'], $config['db']['name'], $config['db']['user'], $config['db']['passw'])) {
		
	          
		        	      
		        	       //avvio della transazione (disattivo auto commit)
		        	       $PDO->beginTransaction();
		        	       
		        	    
		        	       //inizializzo il parametro per la query per la join
		        	       $param = 'id_accesso';
		        	      
		        	       
		        	       //preparo la query
			               if ($join = $PDO->prepare("SELECT id_product FROM products AS A LEFT JOIN accessi AS B ON A.id_product=B. :id_accesso WHERE TRUE;")) {
			               	
			               	   $join->bindParam(':id_accesso', $param, PDO::PARAM_STR,50);
                           

                                  //se la prima query è stata eseguita procedo con la seconda
                           
			                      if ($join->execute())   {
			               	
			                      	 
			                      	 //avvio la seconda query
			               	         $updatecounter = $PDO->prepare("UPDATE accessi SET conta = +1 WHERE id_product = id_accesso;");
			               	         $updatecounter->execute();
			                
			                         //creazione di un array dei risultati
			                         $res = $join->fetchAll();
			               
			                         //visualizzo il risultato
			                         preize($res);
			             
			                         
			                         //riattivo l'auto commit
			                         $PDO->rollBack();
			               
		                           }
			              
			                       else {
			                       	
			                       	     //voglio visualizzare l'errore
			              		         die('Errore Query');
			               	             
			              	       }
			               }
			               
		        }
		        
	}
 
Discussioni simili
Autore Titolo Forum Risposte Data
danlupo Problema Contatore Accessi PHP 3
B Contatore di accessi PHP 2
grottafelix Contatore accessi:invisibile Javascript 4
grottafelix Contatore accessi in Perl Programmazione 1
T contatore totale click e media in secondi PHP 7
T Contatore alla rovescia su più elementi simultaneamente Javascript 4
L [PHP] contatore con sqlite PHP 9
T [PHP] [Javascript] Download e contatore PHP 3
bubino8 [PHP] Contatore Scan QR con redirect PHP 10
F Creare un contatore numerico in HTML HTML e CSS 9
M [PHP] Contatore Tempo Server-side PHP 8
M [PHP] contatore record PHP 7
J contatore visualizzazioni video HTML e CSS 1
Monital Contatore sul sito Google Analytics 2
R Contatore alla rovescia per adesioni Supporto Mr.Webmaster 0
Marco_88 Limitare un contatore PHP 1
W Contatore posti in un form, come implementarlo? WordPress 0
I contatore caratteri textarea sbagliato Javascript 1
D Record disconesso contatore dove sbaglio? Classic ASP 0
V [risolto] Contatore caratteri stile SMS da una textarea Javascript 6
Alessandro Le Mura Contatore di click su link con redirect ogni 24 ore PHP 4
Alessandro Le Mura [RISOLTO]Contatore di click su link con redirect PHP 5
Alessandro Le Mura Contatore visite per ogni pagina con MYSQL - PHP PHP 40
Alessandro Le Mura Contatore php - txt PHP 8
8 Script per il contatore download PHP 11
L Inserire campo input dinamico con contatore in jquery jQuery 8
A contatore visite PHP 6
Shyson richiamare contatore PHP 5
GoshMaledetto Contatore numero letture PHP 4
C Iframe e contatore visite HTML e CSS 4
Shyson Contatore post non si aggiorna in automatico PHP 7
S Contatore click su link PHP 1
C contatore alfanumerico 0000 -> ZZZZ, idee? PHP 3
F contatore PHP PHP 12
max_400 Contatore Top Forum PHP 17
B contatore di download PHP 1
max_400 Contatore scaricamento file... semplice semplice by max_400 PHP 8
davide1982 Incremento contatore click PHP 14
C Contatore visite su Facebook (era: quesito) PHP 2
davide1982 Problema di redirect dal contatore di click Database 1
T Memberarea, forum, contatore...Mi chiarite le idee? HTML e CSS 7
A Contatore per code di clienti in attesa Flash 0
G contatore commenti PHP 6
R Creare un contatore visite senza mysql PHP 6
I contatore crediti a 8574 Supporto Mr.Webmaster 3
foki {PHP Script} Contatore Utenti Registrati PHP 17
danlupo Problemi visualizzazione Contatore PHP 2
whirl Contatore condiviso tra 2 siti PHP 3
Z Contatore fotogallery: problemi a caricare onload laprima PHP 1
A Problema Contatore PHP 6

Discussioni simili