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

inibire visualizzazione pagina php

Supporto per phpBB 3.1.x.
enzomaxxtro
Utente
Utente
Messaggi: 31
Iscritto il: 18/09/2015, 23:53
Sesso: Maschio
Versione: 3.1.5
PHP: 5.4

Re: inibire visualizzazione pagina php

Messaggio da enzomaxxtro » 19/09/2015, 16:55

sarò io che non riesco, ma mi esce questo avviso
"Call to a member function session_begin() on a non-object in PERCORSO PAGINA PHP"


allora ho modificato il tuo codice in questo modo per indicare che il percorso del phpbb è nella root

Codice: Seleziona tutto

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './root/';
....ho sbagliato?

l'errore me lo da su questa riga:

Codice: Seleziona tutto

$user->session_begin();

in breve il file è composto così:

Codice: Seleziona tutto

<?php include("langsettings.php"); 
include("includes\functions_posting.php"); 
include("includes\bbcode.php"); 
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './root/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
?>
questo è l'intestazione

poi appena sotto la scelta del db ho inserito la riga della sessione

Codice: Seleziona tutto

mysql_connect("localhost", "root", "");  
	mysql_select_db("my_altergamers");
	
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
dove ho sbagliato?

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: inibire visualizzazione pagina php

Messaggio da brunino » 19/09/2015, 17:04

Ma il forum e' nella root o in una cartella chiamata root?

Inviato dal mio GT-S5360 con Tapatalk 2
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

enzomaxxtro
Utente
Utente
Messaggi: 31
Iscritto il: 18/09/2015, 23:53
Sesso: Maschio
Versione: 3.1.5
PHP: 5.4

Re: inibire visualizzazione pagina php

Messaggio da enzomaxxtro » 19/09/2015, 17:21

è nella root.

Provando e provando ho trovato un'altra strada...forse più grezza, ma almeno ho trovato il modo di vedere se è l'utente Anonymous o no...vorrei avere un tuo parere cortesemente se questo codice funziona sempre:

Codice: Seleziona tutto

$forum_ip = $_SERVER['REMOTE_ADDR'];
	//USER ID
		$query1 = ("SELECT session_user_id FROM phpbb_sessions WHERE session_ip='$forum_ip'");
		$result1 = mysql_query($query1);
		$row1 = mysql_fetch_array($result1);
		$userid= $row1['session_user_id'];
		
		//USERNAME
		$query2 = ("SELECT username FROM phpbb_users WHERE user_id='$userid'");
		$result2 = mysql_query($query2);
		$row2 = mysql_fetch_array($result2);
		$username= $row2['username'];
		
		echo $username;
		
			if ($username== 'Anonymous') 
			{
			echo "Non puoi visualizzare questa pagina";
			}
			else
			{
			echo "visualizza pagina";
			}
così trovo l'user o volendo anche solo l'id dell'utente anonimo....adesso questo costrutto if devo metterlo a capo di tutto? nel senso nell'else va tutto il corpo della pagina?

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: inibire visualizzazione pagina php

Messaggio da Micogian » 19/09/2015, 17:31

Tu stai confondendo la connessione al database phpbb con una connessione a un tuo database o tabella diversa.
La connessione al DB phpbb avviene con il codice sopra indicato, ad esempio puoi creare un file con questo contenuto per conoscere quali variabili sono disponibili in $user->data

Codice: Seleziona tutto

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './nome_forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);

$user->setup('viewtopic');

// visualizza i valori dell'array $user->data
    $n = '1' ;
    foreach($user->data As $key => $valore){
    echo $n . " - " . $key . " = " . $valore . "<br>";
    ++$n ;
    }
?>
La riga include($phpbb_root_path . 'common.' . $phpEx); comprende già gli include di alcune funzioni di base.
Se hai una tua tabella devi fare una connessione diversa ma potrebbe andare in conflitto con quella standard di phpbb.
Si può inserire la tua tabella nella lista presente in includes/constants.php aggiungendo una riga del tipo:

Codice: Seleziona tutto

define('NAME_TABLE',				$table_prefix . 'nome_tabella');
ma la tabella deve avere il prefisso utilizzato per le altre tabelle PHPBB e deve stare assieme alle altre tabelle di phpbb.
In questo modo la connessione avviene come per le tabelle di PHPBB.

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: inibire visualizzazione pagina php

Messaggio da Micogian » 19/09/2015, 17:37

Se il forum è nella root il codice deve essere questo

Codice: Seleziona tutto

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
Ma secondo me è un errore tenere il forum nella root.
C'è una guida che avevo fatto a suo tempo sulle Custom Page che spiega molto bene.

enzomaxxtro
Utente
Utente
Messaggi: 31
Iscritto il: 18/09/2015, 23:53
Sesso: Maschio
Versione: 3.1.5
PHP: 5.4

Re: inibire visualizzazione pagina php

Messaggio da enzomaxxtro » 24/09/2015, 22:29

grazie a tutti per le risposte...ho risolto grazie ai vostri suggerimenti

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: inibire visualizzazione pagina php

Messaggio da Micogian » 24/09/2015, 22:40

Ma se volete smanettare perchè non vi leggete le guide che ci sono in wiki ?

enzomaxxtro
Utente
Utente
Messaggi: 31
Iscritto il: 18/09/2015, 23:53
Sesso: Maschio
Versione: 3.1.5
PHP: 5.4

Re: inibire visualizzazione pagina php

Messaggio da enzomaxxtro » 24/09/2015, 22:55

perché per quanto mi riguarda una spiegazione di un qualcuno che ha esperienza e che risponde ad una domanda mirata vale più di 100 wiki...per venire al mio scopo mi sono aiutato anche con i file php già inclusi in modo da capirne la meccanica di utilizzo

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: inibire visualizzazione pagina php

Messaggio da Micogian » 25/09/2015, 10:44

Se ti sei ispirato ai file inclusi in phpbb avrai notato che tutti iniziano con la connessione al PHPBB, se uno guarda la Guida "Creare una Custom Page" ha tutte le informazioni su come creare un file php personalizzato che comprende già connessione al DB e alle funzioni di PHPBB.
Tra l'altro la riga define('IN_PHPBB', true); ha importanza sulla sicurezza.
Nessuno vieta di creare una connessione diversa al DB, in php si può fare, ma se usiamo la connessione di default abbiamo a disposizione tutto quello che ci serve per sapere chi si è connesso e regolarci di conseguenza.
Il tuo file potrà anche funzionare, io avrei fatto diversamente.

enzomaxxtro
Utente
Utente
Messaggi: 31
Iscritto il: 18/09/2015, 23:53
Sesso: Maschio
Versione: 3.1.5
PHP: 5.4

Re: inibire visualizzazione pagina php

Messaggio da enzomaxxtro » 07/10/2015, 10:42

infatti ho seguito l'impostazione delle pagine già create per quanto riguarda il controllo sull'utente e devo dire che risulta più facile e funzionale rispetto alla marea di controlli manuali sul db..

Rispondi

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

Chi c’è in linea

Visitano il forum: Bing [Bot] e 66 ospiti