Pagina 1 di 2
Collegare pagina personalizzata al database
Inviato: 20/05/2016, 22:14
da frank
Prendendo spunto da questo articolo ho creato varie pagine personali nel forum (vedi Articoli nella sez. Personal)
http://wiki.phpbbitalia.net/Creare_una_ ... onalizzata
Io vorrei collegare le pagine al database nel quale poi ci creo una tabella. Come posso fare?
Re: Collegare pagina personalizzata al database
Inviato: 22/05/2016, 20:23
da brunino
Nella wiki c'è un articolo al riguardo.
Re: Collegare pagina personalizzata al database
Inviato: 22/05/2016, 20:33
da frank
Proprio adesso, sto tentando di applicare questo, ma mi da errore
https://wiki.phpbb.com/Dbal.sql_connect ... Connection
Se invece vado "alla vecchia" funziona, ma preferirei usare un include
Codice: Seleziona tutto
$link = mysql_connect('localhost', 'root', 'root');
if (!$link) {
die ("Non riesco a connettermi:" . mysql_error());
}
$db_selected = mysql_select_db('benessereforum', $link);
if (!$db_selected) {
die ("Errore nella selezione del database:" . mysql_error());
}
Re: Collegare pagina personalizzata al database
Inviato: 22/05/2016, 23:29
da frank
RISOLTO
Codice: Seleziona tutto
// Questo metodo permette di collegarsi direttamente ai parametri del file config.php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);
if (!$link) {
die ("Non posso connettermi:" . mysql_error());
}
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
die ("Errore nella selezione del database:" . mysql_error());
}
...
Re: Collegare pagina personalizzata al database
Inviato: 23/05/2016, 11:10
da Micogian
Si ma questa è la connessione al database di phpbb, se poi devi collegarti ad una tabella personalizzata devi aggiungerla nella lista delle tabelle in includes/constants.php.
E' comunque una modifica al codice originale e non so se una tabella personalizzata crea problemi negli aggiornamenti.
Per connettermi a una tabella personalizzata io uso questo sistema.
In una cartella "include" ci metto un file connect_db.php con questo contenuto:
Codice: Seleziona tutto
<?php
// Database Settings
global $glb_name;
global $glb_host;
global $glb_user;
global $glb_password;
$glb_name = "nome_database";
$glb_host = "localhost";
$glb_user = "nome_user";
$glb_password = "********";
?>
Poi, per la connessione uso:
Codice: Seleziona tutto
// CONNESSIONE AL DATABASE
require_once('./include/connect_db.php');
global $glb_name;
global $glb_host;
global $glb_user;
global $glb_password;
if (!@mysql_connect($glb_host, $glb_user,$glb_password)) exit('<p>Impossibile connettersi al server del database xxx in questo momento.</p>');
Re: Collegare pagina personalizzata al database
Inviato: 23/05/2016, 11:13
da frank
Io la tabella l'ho creata direttamente nel database e funziona
Re: Collegare pagina personalizzata al database
Inviato: 23/05/2016, 11:24
da Micogian
frank ha scritto:Io la tabella l'ho creata direttamente nel database e funziona
Questo è evidente, il problema sta negli aggiornamenti. Perchè Carlo aveva creato una funzione che controllava se nel DB ci sono tabelle o campi non previsti da phpbb?
L'aggiornamento non avviene se non togli le tabelle o i campi personalizzati, questo almeno nel passaggio da 3.0 a 3.1. Non so perchè non ho mai provato se il problema si pone anche con aggiornamenti tra versioni di 3.1.
Il mio codice crea una connessione di un database o tabella diversi da quello di phpbb. Nel mio sito usiamo 4 database diversi oltre a quello di phpbb.
Re: Collegare pagina personalizzata al database
Inviato: 23/05/2016, 11:34
da frank
Ok, c'è però una cosa che non funziona, entrando nel mio forum, sez. Personal, in fondo ad ogni articolo c'è il contatore rosso che funziona,
Letto...volte
Più sotto in
Potrebbe interessarti anche:, anche lì ho messo lo stesso richiamo, ma non richiama.
Variabile-echo della query
Codice: Seleziona tutto
...
$template->assign_vars(array(
'conta_visite1' => $visite['visite'],
));
Sia nella pagina dell'articolo che in
Potrebbe interessarti anche: c'è il richiamo (per ogni pagina cambia il numero)
Codice: Seleziona tutto
{conta_visite1}
<!-- INCLUDE Articoli/social/fbgoogle.html -->
Come dicevo, sotto non richiama il counter
Re: Collegare pagina personalizzata al database
Inviato: 23/05/2016, 11:39
da brunino
Prova a dare un nome in maiuscolo, anche se dovrebbe essere indifferente. Bisogna vedere se $visite['visite'] contenga effettivamente qualcosa
Re: Collegare pagina personalizzata al database
Inviato: 23/05/2016, 11:47
da Micogian
Con la versione 3.1. è cambiato il "template->assign_vars", dovrebbe essere