Pagina 1 di 2

Inserimento codice php per contatore

Inviato: 28/07/2012, 15:48
da giova95
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

Re: Inserimento codice php per contatore

Inviato: 28/07/2012, 16:53
da PRO
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.

Re: Inserimento codice php per contatore

Inviato: 28/07/2012, 17:57
da giova95
Si, ma i file con estensione html non vengono eseguiti sul server e quindi il codice non funziona...

Re: Inserimento codice php per contatore

Inviato: 28/07/2012, 22:03
da PRO
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>

Re: Inserimento codice php per contatore

Inviato: 29/07/2012, 9:10
da Micogian
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

Re: Inserimento codice php per contatore

Inviato: 29/07/2012, 10:37
da giova95
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

Re: Inserimento codice php per contatore

Inviato: 29/07/2012, 10:52
da Barrnet
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.

Re: Inserimento codice php per contatore

Inviato: 29/07/2012, 11:30
da PRO
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!

Re: Inserimento codice php per contatore

Inviato: 29/07/2012, 11:43
da Micogian
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.

Re: Inserimento codice php per contatore

Inviato: 29/07/2012, 11:54
da PRO
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!