phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Impedire il conteggio delle visite da parte dell'admin

Supporto per phpBB 3.1.x.
Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da frank » 31/05/2016, 16:18

Non so guarda, forse per caso sono riuscito a farlo funzionare. I 2 INSERT ci sono perché devono lavorare separatamente, uno a "0" e l'altro 1, questo per evitare l'aggiornamento non richiesto

mysql_query("INSERT INTO phpbb_contatore (pagina, visite) VALUES ($pagina, 1)");

mysql_query("INSERT INTO phpbb_contatore (pagina, visite) VALUES ($pagina, 0)");

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da Micogian » 31/05/2016, 17:05

Ma se ad aprire la pagina sei tu l'aggiornamento non avviene e i dati restano quelli precedenti.

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da frank » 31/05/2016, 17:42

Ho fatto prove anche come utente e come ospite. Come puoi vedere, si può accedere alla pagina in 2 modi: dal link che c'è nella sez. Personal o dal link-immagine che c'è in basso Potrebbe interessarti anche:

Perciò uno conteggia nel template, l'altro in basso, difatti i 2 codici non sono uguali, ma interagiscono e come puoi verificare, funziona tutto perfettamente.

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da frank » 31/05/2016, 18:14

Guarda, ti posto i 2 codici, così ti fai un'idea, io non so perché funzionino, l'ho indovinata per caso.

Questo conteggia nel template e nello stesso tempo include l'altro file esterno (vedi secondo codice in basso)

Codice: Seleziona tutto

// Identificativo della pagina 
$pagina = "'a-istinti-del-body'"; 

// il 314 è il mio ID utente che ho in LOCALHOST per impedire che il contatore conteggi i miei click
// NON va messo in "*a-contatore.php"
if($user->data['user_id'] <> 314 ) {
// Aggiorna il contatore 
mysql_query("UPDATE phpbb_contatore SET visite = visite+ 1 WHERE pagina like $pagina");
}

if($user->data['user_id'] <> 314 ) {
// Inserisce i dati nel db e sovrascrive il numero-visite precedente
mysql_query("INSERT INTO phpbb_contatore (pagina, visite) VALUES ($pagina, 1)"); 
}

// Estrae i dati dal DB tramite mysql_query("SELECT...) che c'è nel file *a-contatori.php

// Include il file php che contiene tutti i contatori per il file articoliX.html. VA MESSO QUI
include($phpbb_root_path . '*a-contatori.' . $phpEx);

Secondo codice *a-contatori.php che conteggia nelle immagini-link in fondo al template e che viene richiamato nel template con questo: include($phpbb_root_path . '*a-contatori.' . $phpEx);

Codice: Seleziona tutto

$pagina = "'a-istinti-del-body'"; 

// Aggiorna il contatore  
mysql_query("UPDATE phpbb_contatore SET visite = visite WHERE pagina like $pagina"); 

// Inserisce i dati nel db e sovrascrive il numero-visite precedente
mysql_query("INSERT INTO phpbb_contatore (pagina, visite) VALUES ($pagina, 0)"); 

// Estrae i dati dal DB 
$res = mysql_query("SELECT visite FROM phpbb_contatore WHERE pagina like $pagina");  
$tot_visite = mysql_fetch_assoc($res);  

if ( $tot_visite['visite'] == 1) {
    $volte = "volta"; 
}
else {
    $volte = "volte"; 
}

// Crea la variabile-echo che viene poi richiamata nel template e nel file articoliX.html
$template->assign_vars(array(
    'CONTA_VISITE1' => "<span class=\"letto\">Letto </span><span class=\"number\">". $tot_visite['visite'] ."</span> <span class=\"letto\">". $volte ."</span>",
)); 

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da Micogian » 31/05/2016, 18:20

Che uno usi il link delle sezione Personal o il link nell'immagine in fondo all'articolo non cambia nulla, l'url è sempre quello e pertanto ci dovrebbe essere un solo codice php.
Che funzioni può anche essere ma non vedo la necessità di 2 codici diversi e nemmeno l'uso dell'INSERT.
Il file "contatore" va inserito nella pagina che si apre, anche con un include, ma è sempre quello.
Per il resto non posso controllare quello che avviene con il codice che usi e quello che succede nel database.
Io dico solo che un INSERT crea un nuovo record nella tabella e se questo non avviene è perchè c'è un errore.

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da frank » 31/05/2016, 19:03

Scusa ma, se non metto INSERT, come fanno i dati ad entrare nel db?

Ho scoperto perché i 2 INSERT ci vogliono: servono per mettere nel db i dati la prima volta che si clicca sui link, altrimenti nel db non ci va niente.

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da frank » 01/06/2016, 0:25

Ora sto tentando di applicare il tuo metodo, ma qualcosa non va.
Schermata 2016-06-01 alle 00.19.29.png
Schermata 2016-06-01 alle 00.32.34.png
Primo codice:

Codice: Seleziona tutto

// Identificativo della pagina 
$pagina = "'a-istinti-del-body'"; 

// il 314 è il mio ID utente che ho in LOCALHOST per impedire che il contatore conteggi i miei click
// NON va messo in "*a-contatore.php"
if ($user->data['user_id'] <> 314 ) {
if ($user->data['user_id'] == 1 ) {
     // Aggiorna il contatore dei visitatori Ospiti     
     mysql_query("UPDATE phpbb_contatore SET visite_ospiti = visite_ospiti + 1 WHERE id = $id");
 } else {
     // Aggiorna il contatore degli Utenti Registrati
     mysql_query("UPDATE phpbb_contatore SET visite_users = visite_users + 1 WHERE id = $id");
  }
}

if($user->data['user_id'] <> 314 ) {
// Inserisce i dati nel db LA PRIMA VOLTA e mette "1" (non vale per me admin)
mysql_query("INSERT INTO phpbb_contatore (pagina, visite, visite_users, visite_ospiti) VALUES ($pagina, 1)"); 
}

// Estrae i dati dal DB tramite mysql_query("SELECT...) che c'è nel file *a-contatori.php

// Include il file php che contiene tutti i contatori per il file articoliX.html. VA MESSO QUI
include($phpbb_root_path . '*a-contatori.' . $phpEx);

Secondo codice:

Codice: Seleziona tutto

$pagina = "'a-istinti-del-body'"; 

// Inserisce i dati nel db LA PRIMA VOLTA e mette il contatore a "0"
mysql_query("INSERT INTO phpbb_contatore (pagina, visite, visite_users, visite_ospiti) VALUES ($pagina, 0)"); 

// Estrae i dati dal DB 
$res = mysql_query("SELECT visite FROM phpbb_contatore WHERE pagina like $pagina");  
$tot_visite = mysql_fetch_assoc($res);  

if ( $tot_visite['visite'] == 1) {
    $volte = "volta"; 
}
else {
    $volte = "volte"; 
}

// Crea la variabile-echo che viene poi richiamata nel template e nel file articoliX.html
$template->assign_vars(array(
    'CONTA_VISITE1' => "<span class=\"letto\">Letto </span><span class=\"number\">". $tot_visite['visite'] ."</span> <span class=\"letto\">". $volte ."</span>",
)); 
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da Micogian » 01/06/2016, 10:23

Ma se tu fai una ricerca per id senza dare un valore alla variabile $id non può funzionare.
Non ti serve il valore di $pagina ma quello del suo ID che io chiamo $id_cor.
Per me basto un codice solo sia per aggiornare i dati che per estrarli:

Codice: Seleziona tutto

// Identificativo della pagina
// $pagina = "'a-stare-da-dio'"; // questo non serve
$id_cor = 6 ; // ma serve l'id della pagina

// il 314 è l'ID utente da non calcolare nel conteggio
if ($user->data['user_id'] <> 314 ) 
{
	if ($user->data['user_id'] == 1 ) 
	{
		// Aggiorna il contatore generale e quello dei visitatori Ospiti     
		mysql_query("UPDATE phpbb_contatore SET visite = visite + 1, visite_ospiti = visite_ospiti + 1 WHERE id = $id_cor");
	} else {
		// Aggiorna il contatore generale e quello degli Utenti Registrati
		mysql_query("UPDATE phpbb_contatore SET visite = visite + 1, visite_users = visite_users + 1 WHERE id = $id_cor");
	}
}

// Estrae i dati dal DB
$res = mysql_query("SELECT visite FROM phpbb_contatore WHERE id = $id_cor"); 
$tot_visite = mysql_fetch_assoc($res); 
$visite 		= $tot_visite['visite'];
$visite_users 	= $tot_visite['visite_users'];
$visite_extra 	= $tot_visite['extra'];

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da frank » 01/06/2016, 10:42

Dopo provo, io vorrei poter mettere anche il nome della pagina.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Impedire il conteggio delle visite da parte dell'admin

Messaggio da Micogian » 01/06/2016, 11:20

A parte che non so a cosa ti serva il nome della pagina che è comunque presente nel link, potresti metteri l'id direttamente nel link.

Codice: Seleziona tutto

http://benessereforum.it/a-stare-da-dio.php?id=6
e nella pagina lo richiami cosi

Codice: Seleziona tutto

$id_cor  = $_GET['id'];

Rispondi

Torna a “[3.1.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 77 ospiti