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

Inserimento codice php per contatore

Supporto per phpBB 3.0.x.
Avatar utente
giova95
Utente
Utente
Messaggi: 81
Iscritto il: 28/07/2012, 14:38
Sesso: Maschio
Versione: 3.0.11
Server: UNIX/Linux
PHP: 5.3.3
Database: MySQL(i) 5.0.95-log
Località: Biella
Contatta:

Inserimento codice php per contatore

Messaggio da giova95 » 28/07/2012, 15:48

Ciao a tutti.
Ho cercato so google e sul forum ma non ho trovato nulla.
Ho un problema con l'inserimento di codice .php per il conteggio delle visite.
Il codice è il seguente:

Codice: Seleziona tutto

<?php

$fp=fopen('contatore.txt', 'w+');
$visite=fread('contatore.txt', filesize('contatore.txt'));

if ($_COOKIE["visita"][0]!= 1){
  setcookie('visita', 1, time() + 7200);
  fwrite($fp,$visite+1);
  $visitatori=$visite+1;
}

fclose($fp);
echo "Visitatori: $visitatori+1";

?>
Ma il problema non è propriamente il codice, ma l'inserimento del medesimo all'interno del forum.
La scritta "visite:xxx" dovrebbe comparire a fondo pagina nelle statistiche, quindi mi è venuto in mente in un primo momento di inserire il codice in index_body del template che uso, ma poi mi sono accorto dell'estensione html. Cambiandola in .php mi da "errore generale"...
Non so dove poter inserire il codice per farlo funzionare
Qualcuno potrebbe gentilmente aiutarmi?

L'errore generale che viene visualizzato cambiando l'estensione di index_body.html in .php credo che sia dato dal fatto che nei file del forum ci sia:
<!-- INCLUDE index_body.html -->
e non:
<!-- INCLUDE index_body.php -->

Ho pensato di provare a cambiare tutti i file "incriminati" ma ho paura di dimenticarmi di qualche file...
È gradito qualsiasi tipo di aiuto, una lista dei file da modificare, una soluzione alternativa (tipo inserire il codice in index.php, ma poi non so cosa fare...), oppure anche una mods che includa un contatore visite...
Giova
Grazie in anticipo

Avatar utente
PRO
Utente
Utente
Messaggi: 180
Iscritto il: 22/05/2012, 18:40
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Inserimento codice php per contatore

Messaggio da PRO » 28/07/2012, 16:53

Non devi cambiare di certo l'estensione del file. lascia html.

Il php si può integrare in codice html, basta che sia delimitato inizio e fine dai tag di apertura e chiusura e che sia posto in una posizione idonea.

Per inserirlo a fondo devi referenziare nell' overall_footer dello style in uso.

Avatar utente
giova95
Utente
Utente
Messaggi: 81
Iscritto il: 28/07/2012, 14:38
Sesso: Maschio
Versione: 3.0.11
Server: UNIX/Linux
PHP: 5.3.3
Database: MySQL(i) 5.0.95-log
Località: Biella
Contatta:

Re: Inserimento codice php per contatore

Messaggio da giova95 » 28/07/2012, 17:57

Si, ma i file con estensione html non vengono eseguiti sul server e quindi il codice non funziona...

Avatar utente
PRO
Utente
Utente
Messaggi: 180
Iscritto il: 22/05/2012, 18:40
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Inserimento codice php per contatore

Messaggio da PRO » 28/07/2012, 22:03

Sembra sbagliato il codice php.

Dipende sicuramente dall'uso ma il seguente javascript è carino:

Codice: Seleziona tutto

<script id="_wau9op">var _wau = _wau || []; _wau.push(["classic", "dw0tweuaygmf", "9op"]);
(function() {var s=document.createElement("script"); s.async=true;
s.src="http://widgets.amung.us/classic.js";
document.getElementsByTagName("head")[0].appendChild(s);
})();</script>

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: Inserimento codice php per contatore

Messaggio da Micogian » 29/07/2012, 9:10

giova95 ha scritto: Ho cercato so google e sul forum ma non ho trovato nulla.
Credo che tu abbia cercato poco.
Nel Forum e in particolare nelle Guide viene più volte spiegato come funziona il phpbb: da un lato un file php provvede alla connessione al database e crea le variabili da passare al template.
Il template è un file html che provvede a visualizzare i dati passati sotto forma di variabili.
Le variabili in PHPBB devono essere maiuscole e come vengano create lo puoi vedere qui: http://wiki.phpbb.com/Template.assign_var

Avatar utente
giova95
Utente
Utente
Messaggi: 81
Iscritto il: 28/07/2012, 14:38
Sesso: Maschio
Versione: 3.0.11
Server: UNIX/Linux
PHP: 5.3.3
Database: MySQL(i) 5.0.95-log
Località: Biella
Contatta:

Re: Inserimento codice php per contatore

Messaggio da giova95 » 29/07/2012, 10:37

PRO ha scritto:Sembra sbagliato il codice php.

Dipende sicuramente dall'uso ma il seguente javascript è carino:

Codice: Seleziona tutto

<script id="_wau9op">var _wau = _wau || []; _wau.push(["classic", "dw0tweuaygmf", "9op"]);
(function() {var s=document.createElement("script"); s.async=true;
s.src="http://widgets.amung.us/classic.js";
document.getElementsByTagName("head")[0].appendChild(s);
})();</script>
Il codice php è giusto, funziona se lo provo su un sito senza phpbb ma su phpbb non so come inserirlo.
Il javascript è molto carino, grazie :)
Se non riesco a risolvere in maniera diversa allora userò questo
Micogian ha scritto:
giova95 ha scritto: Ho cercato so google e sul forum ma non ho trovato nulla.
Credo che tu abbia cercato poco.
Nel Forum e in particolare nelle Guide viene più volte spiegato come funziona il phpbb: da un lato un file php provvede alla connessione al database e crea le variabili da passare al template.
Il template è un file html che provvede a visualizzare i dati passati sotto forma di variabili.
Le variabili in PHPBB devono essere maiuscole e come vengano create lo puoi vedere qui: http://wiki.phpbb.com/Template.assign_var
Non è che io abbia cercato poco... è che non sapevo nemmeno cosa cercare... più che "inserire codice php in phpBB" non potevo cercare.
Grazie per la dritta, avevo intuito il funzionamento, ma non sapevo come utilizzarlo a mio favore.
Leggendo sul link che mi hai dato e sul forum ho capito che devo dichiarare le variabili in file php. Siccome deve essere visualizzato nell'indice dove posso posizionarlo?

Grazie a tutti

Avatar utente
Barrnet
Leader Moderatori
Leader Moderatori
Messaggi: 3124
Iscritto il: 04/07/2010, 23:31
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL 5.1.61-community-log
Contatta:

Re: Inserimento codice php per contatore

Messaggio da Barrnet » 29/07/2012, 10:52

Puoi inserire del php in phpBB abilitandolo dal pannello di controllo amministratore e poi mettendo il codice da abilitare tra i commenti:

Codice: Seleziona tutto

<! PHP -->
<!-- PHP -->
Ovviamente tale operazione è sconsigliata dal phpbb.com.
È meglio includere il codice php come funzione e poi richiamarlo oppure inserirlo in una pagina specifica (per esempio index.php e poi mostraro nel template index_body.html).

In ogni caso lascia perdere quel codice: il funzionamento è molto basilare: apre un file .txt, gli inserisce un carattere per ogni visita e successivamente legge i numeri di caratteri per stampare a video il nmero totale delle visite.

È un metodo brutale ma funzionante, utilizzabile in host che non forniscono un database mysql, ma avendolo è meglio utilizzarlo salvando tutto su una tabella mysql: cosi non carichi inutilmente il server con continue scritture e letture da quel file.

Io ti suggerirei di affidarti a google analytics, che ti consente di monitorare le tue visite giornaliere, totali e mensili.

Avatar utente
PRO
Utente
Utente
Messaggi: 180
Iscritto il: 22/05/2012, 18:40
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Inserimento codice php per contatore

Messaggio da PRO » 29/07/2012, 11:30

Ottimo consiglio quello di Barrnet. Ti sconsiglio pure io il file testuale, usa il db o affidati a google analytics.

Barrnet per favore mi fai un esempio come includere il codice php come funzione e poi richiamarlo?

Intendi creare un file php e poi richiamarlo dove desideri visualizzarlo?

Se si o no mi chiarisci le idee con un esempio su come fare?

Grazie!

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: Inserimento codice php per contatore

Messaggio da Micogian » 29/07/2012, 11:43

Io credo che se uno vuole imparare come funziona il PHPBB dovrebbe per lo meno dare un'occhiata alle Guide, spiegano già molte cose anche se l'intenzione è di ampliare la Sezione Guide.

La cosa migliore è creare un file php esterno (ad esempio pippo.php) che contene il codice necessario e la creazione della variabile.
Questo file si include nel file php interessato con

Codice: Seleziona tutto

include($phpbb_root_path . 'pippo.' . $phpEx);
Questo è un modo che non stravolge il file php originale.

Il punto principale è "dove devo inserire il dato ?".
Se lo devo inserire nell'indice l'include si mette in index.php, se vogliamo che sia presente sempre, in tutte le pagine, possiamo creare una funzione nel file function.php che è presente in tutte le pagine.
Poi la collocazione nel template può essere in overall_header.html se vogliamo inserirlo in testata, in overall_footer.html se lo vogliamo nel piede.
Se invece lo vogliamo nel corpo dobbiamo vedere qual'è il file html relativo a quella pagina.

Avatar utente
PRO
Utente
Utente
Messaggi: 180
Iscritto il: 22/05/2012, 18:40
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Inserimento codice php per contatore

Messaggio da PRO » 29/07/2012, 11:54

Sei stato gentilissimo.

Quindi supponiamo voglia fare le cose per bene e quindi voglia integrare file php, creo file esterno esempio patata.php, inserisco include($phpbb_root_path . 'patata.' . $phpEx); dentro il file index.php perchè voglio visualizzare solo nell'indice e nel template come faccio?

Dove posizionarlo nel template mi so orientare ma come faccio ad inserirlo nel template? quale istruzione?

Grazie!

Rispondi

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

Chi c’è in linea

Visitano il forum: Baidu [Spider] e 48 ospiti