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

Codice php nei template

Supporto per phpBB 3.0.x.
digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Codice php nei template

Messaggio da digreo » 28/03/2013, 15:59

digreo ha scritto:Le domande son molteplici:
  1. Perchè <!-- PHP --> non funziona nel Javascript come un normale <? php ?>?
  2. <!-- INCLUDEPHP pagina.php --> si può usare nel Javascript (in questo caso avrei risolto)?
  3. <!-- DEFINE $SOME_VAR = 'my_file.html' --> cambia, o definisce, il valore di qualsiasi $var? Si può usare nel Javascript?
  4. <!-- INCLUDE {$SOME_VAR} --> sostituisce {S_HIDDEN_FIELDS}? Si può usare nel Javascript?
  5. <!-- INCLUDE {FILE_VAR} --> include un file .js? Si può usare nel Javascript?
Chiunque può rispondere anche soltanto ad una domanda.. lo facciaaaaaaaaaaa!
Grazie ancora
UPPPPPPPPPPP!

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Codice php nei template

Messaggio da Angolo » 28/03/2013, 20:46

Tu nel template, puoi inserire del codice php. Cosa sempre sconsigliata.

Puoi richiamare un file javascript, secondo gli standard html. Minestroni, se non funzionano, non sono consentiti.

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Codice php nei template

Messaggio da digreo » 29/03/2013, 14:58

Potresti farmi un esempio come farei a fare una query all'interno di javascript? OO
Oltremodo quello che significa questo
Tu nel template, puoi inserire del codice php
..sarebbe

Codice: Seleziona tutto

<!-- PHP --> codice php <!-- ENDPHP -->
se così fosse.. non era questa la domanda!
La domanda è appunto come inserire una query all'interno di javascript.

E l'UP era per questo
Perchè <!-- PHP --> non funziona nel Javascript come un normale <? php ?>?
<!-- INCLUDEPHP pagina.php --> si può usare nel Javascript (in questo caso avrei risolto)?
<!-- DEFINE $SOME_VAR = 'my_file.html' --> cambia, o definisce, il valore di qualsiasi $var? Si può usare nel Javascript?
<!-- INCLUDE {$SOME_VAR} --> sostituisce {S_HIDDEN_FIELDS}? Si può usare nel Javascript?
<!-- INCLUDE {FILE_VAR} --> include un file .js? Si può usare nel Javascript?
>.< :D

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Codice php nei template

Messaggio da Angolo » 29/03/2013, 15:54

A me sembrava di essere stato abbastanza chiaro.
Sarò più esplicito...

Premesso tutto con un bel "Che io sappia". Quindi, nel caso in cui qualcuno ne sappia di più e meglio avrà modo di rettificare (dimostrandolo coi fatti, non a parole):

La domanda è appunto come inserire una query all'interno di javascript.
Non si può. La query per operare nel database mysql, deve operare via php. Semmai si può fare il contrario: inserire un po' di javascript nel file php.
Perchè <!-- PHP --> non funziona nel Javascript come un normale <? php ?>?
Perché sono due linguaggi diversi. Peraltro, uno lato server e uno lato client.
<!-- INCLUDEPHP pagina.php --> si può usare nel Javascript (in questo caso avrei risolto)?
No.

<!-- DEFINE $SOME_VAR = 'my_file.html' --> cambia, o definisce, il valore di qualsiasi $var? Si può usare nel Javascript?
No.
<!-- INCLUDE {$SOME_VAR} --> sostituisce {S_HIDDEN_FIELDS}? Si può usare nel Javascript?
No.

<!-- INCLUDE {FILE_VAR} --> include un file .js? Si può usare nel Javascript?
No.


Perché questi no? Perché stai tentando di fare minestroni.

Ribadisco e leggi bene. Tu puoi fare "solo" questo:

- Inserire javascript in php. Non il contrario.
- Richiamare un file javascript esterno, tramite html
- Inserire il php nei file html (sconsigliato)

Vedi quello che puoi fare su queste basi. Che possono essere intrecciate. Es: il file html del template, può richiamare un file php contenente javascript. Ma non si può richiamare un file javascript contenente codice php.

Questo sempre sulla base premessa del "Che io sappia". Se qualcuno è in grado di dimostrare coi fatti, che quello che tu chiedi si può fare, lo farà, dimostrandolo concretamente e spiegandolo. Spero di essermi spiegato chiaramente.

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: Codice php nei template

Messaggio da Micogian » 29/03/2013, 16:27

Il funzionamento del phpbb è molto semplice: da un lato c'è un file php che ha il compito di connettersi al database, estrarre i dati, elaborarli e creare delle variabili che rappresentano i dati ottenuti.
Queste variabili vengono passate al template, che è un file HTML che a sua volta provvede a visualizzare questi dati in una pagina.
Non vedo il motivo di forzare il file html per inserire del codice php o javascript che tra l'altro è sconsigliato per motivi di sicurezza.
Mi sembra più conveniente elaborare i dati attraverso il php, eventualmente inserire del codice javascript, se serve, e passare i dati risultanti al template sotto forma di variabili.

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Codice php nei template

Messaggio da digreo » 02/04/2013, 15:22

OK, entrerò nel particolare:
sto realizzando una pagina per disegnare; questa pagina contiene un iframe con molti div da 4x4 pixel.
Di tanto in tanto.. es. ogni 10 secondi, il background-color dei div deve essere registrato sul database.
Il database è già stato creato, tutto funziona perfettamente, mi manca soltanto lanciare una query UPDATE ogni 10 sec. per salvare quello che è stato disegnato.


Si può fare? >.<

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: Codice php nei template

Messaggio da Micogian » 02/04/2013, 16:20

Se guardiamo come funziona il PHPBB vediamo che un file php provvede a connettersi al database, fornire i dati e passarli al template che visualizza la pagina.
In sostanza, se apri l'indice è il file index.php che viene elaborato ma è index_body.html che viene visualizzato.
Stessa cosa quando visualizzi una discussione, è il file viewtopic.php a elaborare i dati ma la pagina è visualizzata tramite viewtopic_body.html.
Guardati in Wiki come funziona una Custom Page, puoi creare un file php che elabora quello che vuoi fare e una pagina html che visualizza la pagina ma è il php a lavorare.

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Codice php nei template

Messaggio da digreo » 03/04/2013, 15:41

Questo l'ho già fatto diverse volte! Ma non so come poter fare una funzione che ogni 10 secondi salvi il background-color dei div sul database.
Nel particolare, la funzione Query già l'ho fatta, ma non so come farla ricorrere ogni 10 secondi, oppure quando l'utente finisce di disegnare, cioè in onmouseup (o eventi simili).

Nel caso vorrei richiamare la funzione in onmouseup mi basterebbe fare così?
Nel template

Codice: Seleziona tutto

<body onmouseup="{VAR_MIAFUNZIONE}">
Nel php

Codice: Seleziona tutto

function miafunzione(){
QUERY
}
$template->assign_var('VAR_MIAFUNZIONE', miafunzione());
Cioè, è possibile assegnare, alla variabile template, una funzione?

Grazie ancora

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Codice php nei template

Messaggio da digreo » 11/04/2013, 20:56

Trovo notevoli problemi nel passare la funzione php al template:
faccio un esempio::

pagina php

Codice: Seleziona tutto

function colora(){
 echo "ciao";
}
$template->assign_var('COLORA', colora());
pagina html

Codice: Seleziona tutto

<script>
if(variabile == 1) {COLORA};
</script>
OPPURE
<body onmousedown="{COLORA}">
Quindi veniamo al dunque; dov'è il problema?
Ebbene:
1) la function colora() viene richiamata alla apertura della pagina anche eliminando tutte le chiamate dal template, quindi indifferentemente, scrive sempre la echo!
2) {COLORA} nel template non viene riconosciuto e se guardo il sorgente c'è un campo vuoto.


Sto sbagliando qualche cosa?

digreo
Utente
Utente
Messaggi: 265
Iscritto il: 02/10/2012, 12:23
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.16
Database: Mysql
Contatta:

Re: Codice php nei template

Messaggio da digreo » 12/04/2013, 21:08

Perfetto! Di male in peggio:

ho saputo che si possono passare soltanto variabili stringa e non function!! OO
Come posso fare?

Rispondi

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

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti