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
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 » 04/06/2016, 17:17

Quanti articoli hai ? da quello che desumo dal forum sono 30.
A parte che una tabella si può creare da un foglio excell, quanto ci vuole a creare 30 records in una tabella?
Ci sono diversi modi, il più semplice è inserire un solo campo, poi esporti la tabella in un file sql e ti ritrovi un file che contiene 1 record.
Aggiungi manualmente gli altri 29 records e importi la tabella completa.
A questo punto hai una tabella che contiene tutti i tuoi articoli e la puoi manipolare come ti pare.
Aggiungi un articolo ? quanto ci vuole per aggiungere 1 record? Questo si che puoi farlo con un INSERT.
Io vorrei vedere su phpmyadmin cosa contiene la tabella e cosa succede alla tabella quando fai un INSERT.
Ti consiglio di leggere qualche Guida MYSQL, vedrai che le operazioni che si fanno sono queste:
SELECT = interroga il database
UPDATE = modifica i campi di un database
INSERT = inserisce un nuovo record nel database.

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 » 04/06/2016, 17:29

I modi per farlo sono diversi, io sono dell'idea che è meglio lasciarlo fare in automatico al db.
Micogian ha scritto: Io vorrei vedere su phpmyadmin cosa contiene la tabella e cosa succede alla tabella quando fai un INSERT.
Il cosa contiene l'ho messo nel mio ultimo screenshot, poi quando clicco sul template, i campi si aggiornano.

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 » 04/06/2016, 20:51

Si vede che non ci capiamo, io intendo il contenuto, non la struttura della tabella, quella non mi interessa.

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 » 04/06/2016, 20:54

Questo è il contenuto
Schermata 2016-06-04 alle 20.53.52.png
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 » 05/06/2016, 9:21

Qui stiamo discutendo da giorni su una soluzione che non arriva perchè ti stai intestardendo su un INSERT che non ha ragione di esserci.
Dall'ultimo esempio vedo che l'id è a 0 (assurdo) e il campo "pagina" che sarebbe un varchar(50), cioè un testo, contiene i numeri di pagina (che dovrebbero essere invece gli id.
Fino a quando tu non partirai da una tabella che contenga già i dati di partenza non ne esci fuori.
E' come se nella tabella "users" si creasse un INSERT e quindi un nuovo record, ogni volta che un utente si collega al forum. La tabella "users" contiene la lista degli utenti e ogni volta che un utente fa qualcosa vengono aggiornati i campi che vengono modificati con UPDATE.
Tu devi partire con una tabella che contenga la lista degli articoli ed ad ognuno va assegnato un diverso id. Solo così potrai modificare i campi dell'id selezionato. Fa parte dell'ABC di MYSQL.
Le indicazioni per risolvere le hai, per me chiudo qui.

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 » 07/06/2016, 2:53

Ho voluto fare di testa mia :frustrante:, ora sembra che funzioni, mette nel db in automatico la prima volta che clicco. Mette a video il numero giusto nel template, in quelli in fondo non mette niente eppure c'è lo stesso echo.
Schermata 2016-06-07 alle 02.53.31.png

Codice: Seleziona tutto

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

//Contavisite, connessione al db tramite i parametri in config.php
$link = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);
if (!$link) {
   die ("Non riesco a connettermi:" . mysqli_error());
}

// Aggiorna il contatore
if ($user->data['user_id'] != 314) { // il 314 è l'ID admin (il mio), non viene conteggiato
    if ($user->data['user_id'] == 1) { // Conteggia solo gli Utenti Registrati e gli Ospiti
        $query="INSERT INTO phpbb_contatore(pagina, visite_tot, visite_ospiti) VALUES($pagina, 1, 1)
                     ON DUPLICATE KEY UPDATE visite_tot = visite_tot + 1, visite_ospiti = visite_ospiti + 1";
    } else {
        $query="INSERT INTO phpbb_contatore(pagina, visite_tot, visite_users) VALUES($pagina, 1, 1)
                     ON DUPLICATE KEY UPDATE visite_tot = visite_tot + 1, visite_users = visite_users + 1";
    }
    $ins_up=mysqli_query($link, $query);
}

// Estrae i dati dal DB 
$res = mysqli_query($link,"SELECT visite_tot FROM phpbb_contatore WHERE pagina = $pagina");   
$tot_visite = mysqli_fetch_assoc($res);

if ( $tot_visite['visite_tot'] == 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_tot'] ."</span> <span class=\"letto\">". $volte ."</span>",
)); 
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

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 » 07/06/2016, 15:40

Micogian, mi abbandoni? Perché non mostra il contatore nei link in basso?

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 » 08/06/2016, 22:57

Capisco che sei un po' arrabbiato con me, ma spiegami per quale motivo accetta solo la prima variabile

Codice: Seleziona tutto

...
<div style="text-align: center;  margin-top: 30px; margin-bottom: 40px; line-height: 10px;">
<!-- INCLUDE Articoli/social/fbgoogle.html -->

<!-- Contavisite, richiama la variabile del file php -->
{CONTA_VISITE1} 
&nbsp;&nbsp;
<!-- Facebook-->
<div class="fb-share-button" data-href="http://benessereforum.it/a-istinti-del-body.php" data-layout="button_count"></div>   
&nbsp;&nbsp;
<!-- Google+ -->
<g:plusone size="medium"></g:plusone>
</div>
<!-- INCLUDE Articoli/articoliSmall/articoliX.html -->
</div><!-- cent -->
...
L'altra si trova qui <!-- INCLUDE Articoli/articoliSmall/articoliX.html --> ma non la include

Codice: Seleziona tutto

<div class="articolo1"><a class="linksX" href="a-istinti-del-body.php"><img class="rasize" src="styles/prosilver/template/Articoli/articoliSmall/imgSmall/istintoX.jpg" alt="istinti" title="">L’istinto del corpo verso il cibo</a>
{CONTA_VISITE1} 
</div>

Rispondi

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

Chi c’è in linea

Visitano il forum: Nessuno e 40 ospiti