Richiamare pagine.php in modo dinamico

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ma si possono passare due parametri contemporaneamente ad una pagina? es: menuid e pagina con il get ?
si, es.
HTML:
<a href=sofonisba.php?pinco="uno"&pallo="due">clicca</a>
poi in sofonisba.php
PHP:
<?php
$primo=$_GET['pinco'];
$secondo=$_GET['pallo'];
//...
?>
poi la mia curiosità era dovuta al fatto di sapere se dentro la variabile hai del codice php (ma qui alex può rispondere meglio di me) perche ti faccio un esempio
PHP:
<?php
$pag="<?php echo 'pinco pallo';?>";
echo $pag;
?>
non ti stampa 'pinco pallo' ciè il codice php dentro la stringa è come se non ci fosse
 

aledero75

Utente Attivo
6 Apr 2012
88
0
0
Lamezia Terme
PHP:
<?php

    require_once __DIR__ . "/{$row['pagine']}.php";
}
?>


Ma se i miei file da includere sono nella cartella template come devo modificare la riga sopra? In ogni caso se utilizzo quella funzione mi da "fatal error".....
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao,

dicevi che
Un esempio del contenuto $riga['Pagine'] é contatti.php

credo che dovresti togliere il .php

PHP:
<?php

    require_once __DIR__ . "/template/{$row['pagine']}";
}
?>

se no diventa contatti.php.php

ho aggiunto la cartella template
 
Ultima modifica:

aledero75

Utente Attivo
6 Apr 2012
88
0
0
Lamezia Terme
ciao,

dicevi che


credo che dovresti togliere il .php

PHP:
<?php

    require_once __DIR__ . "/template/{$row['pagine']}";
}
?>

se no diventa contatti.php.php

ho aggiunto la cartella template

Grazie mille

Ma perchè non funziona il seguente codice?

require_once __DIR__ . "/template/{$row['Pagina']}";
Mi da il seguente errore:

Warning: require_once(__DIR__/template/) [function.require-once]: failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 109

Fatal error: require_once() [function.require]: Failed opening required '__DIR__/template/' (include_path='.:/Applications/xampp/xamppfiles/lib/php') in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 109
 

aledero75

Utente Attivo
6 Apr 2012
88
0
0
Lamezia Terme
Ma perchè non funziona il seguente codice?

require_once __DIR__ . "/template/{$row['Pagina']}";

Mi da il seguente errore:

Warning: require_once(__DIR__/template/) [function.require-once]: failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 109

Fatal error: require_once() [function.require]: Failed opening required '__DIR__/template/' (include_path='.:/Applications/xampp/xamppfiles/lib/php') in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 109[/QUOTE]

Nessuno puo' dirmi come mai il sistema non riesce a trovarmi le pagine da includere? I file sono nella cartella template. La cartella template si trova nella cRtella principale che si chiama vimer2. Cme mai invece mi punta su index.php?

Grazie a tutti
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao

hai gia provato anche cosi?

PHP:
require_once __DIR__ . "/vimer2/template/{$row['Pagina']}";
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
fai una prova commenta e metti un var_dump

PHP:
<?php 
     var_dump($row['pagine']);
    //require_once __DIR__ . "/{$row['pagine']}.php"; 
} 
?>
e posta cosa risulta
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Il risultato del var_dump è
NULL

Cosa vuol dire?

Vuol dire che non esiste o che cmq ha valore nullo

ma non era $row['Pagine'] con la p maiuscola?

PS: ora che vedo una volta scrivi 'pagine' una volta 'Pagina' una volta 'Pagine', non è la stessa cosa
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
oltre a quello che ha detto ciric:
sta cercando l'errore in una riga che può essere giusta. l'errore nasce prima. cioè la variabile non viene valorizzata.
posta la parte dove tale variabile dovrebbe assumere il proprio valore
 

aledero75

Utente Attivo
6 Apr 2012
88
0
0
Lamezia Terme
Si lo so ma ho modificato un pò il codice suggeritomi da Alessandro,
in ogni caso il codice giusto è $riga[Pagina];
in ogni caso non capisco cosa sbaglio $riga ['Pagina'] contiene le pagine contatti.php, notizie.php ecc che fisicamente però stanno nella cartella del sito inserita in Maintosh HD/Applicazioni/XAMPP/htdocs/vimer 2/template
Forse devo inserire tutto questo percorso?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
la tabella del db può contenere quello che dici, ma se il var_dump($riga ['Pagina']); ti restituisce NULL vuol dire che la variabile NON viene valorizzata o in qualche passaggio viene persa.
se è NULL l'istruzione del require è come se fosse scritta
PHP:
require_once __DIR__ . "/vimer2/template/";
quindi non può trovarti quello che dovrebbe
quindi ribadisco l'errore nasce a monte dell'istruzione require.
devi riuscire a capire perchè $riga ['Pagina'] non si valorizza o perchè si perde per strada
 

aledero75

Utente Attivo
6 Apr 2012
88
0
0
Lamezia Terme
Non capisco perchè la query non mi da errore però poi non mi valorizza la riga

codice PHP:
PHP:
$Query =mysql_query ("SELECT * FROM tblmenu WHERE ID = '".$_GET['menuid']."'" ); 
if (!$Risultato)
{       
 die("La tabella selezionata non esiste " . mysql_error()); 
}
 else      
{        
echo "ok"; 
//include ("template/{$riga['Pagina']}");
}
Infatti mi stampa OK
Vedi qualche errore per caso?
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se hai usato il codice di alex (salvo come hai detto alcune correzioni) metti alcuni var_dump e posta i risultati

PHP:
<?php
//.............
var_dump($pagina);//dovrebbe darti un numero
$sql = sprintf('SELECT * FROM tblpagine WHERE id = %d', (int)$pagina);
var_dump($sql);
/*il var_dump sopra se hai dato (es.) il valore 2 dovrebbe restituirti
string(36) 'SELECT * FROM tblpagine WHERE id = 2'
*/
$query = mysql_query($sql) or die(mysql_error()); 
var_dump($query);//BOOL (FALSE) se non va a buon fine, altrimenti resource....
if (mysql_num_rows($query) == 0) { 
    require_once 'home.php'; 
} else { 
    $row = mysql_fetch_assoc($query);
	var_dump($row);//dovrebbe riportare l'array con il suo contenuto, in pratica il contenuto di $row['pagine'] (o come l'hai chiamato nel campo della tabella)
    //require_once __DIR__ . "/{$row['pagine']}.php"; 
} 
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me stai facendo un po' di caos.
fai come ha detto alex o simile, poi metti i var_dump per verificare

PHP:
<?php
var_dump($_GET['menuid']);
//poi dividi la query
$sql="SELECT * FROM tblmenu WHERE ID = '".$_GET['menuid']."'";
var_dump($sql);
$Query =mysql_query ($sql) or die("La tabella selezionata non esiste " . mysql_error()); 
$Risultato=mysql_num_rows($Query);
if ($Risultato==0){       
	echo "la pagina non esiste";
	//include_once ("template/home.php");
}else{        
	echo "ok";
	$riga=mysql_fetch_assoc($Query);
	var_dump($riga);
	var_dump($riga['Pagina']);
	//include_once ("template/{$riga['Pagina']}");
}  
?>
poi un piccolo consiglio nei nomi delle variabile e campi usa sempre e solo il minuscolo, il passaggio da miniscolo a maiuscolo è facile fonte di errori
 

aledero75

Utente Attivo
6 Apr 2012
88
0
0
Lamezia Terme
ciao
da dove salta fuori quella variabile $risultato?

Si scusa ho fatto un pò di casino :D
Adesso ho messo a posto il codice e cambia qualcosina
Il risultato di var_dump ($riga['Pagina']) è il seguente:

string(12) "contatti.php" ed è corretto perchè ho cliccato la voce menù contatti
però se metto
PHP:
 require_once __DIR__ . "vimer 2/template/{$riga['Pagina']}";
mi da ancora l'errore:

Warning: require_once(__DIR__vimer 2/template/contatti.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/vimer 2/index.php on line 90
 
Discussioni simili
Autore Titolo Forum Risposte Data
minatore Richiamare pagine PHP da variabile PHP 14
Shyson Richiamare funzione in altre pagine PHP 14
G Richiamare pagine ASP da HTML HTML e CSS 3
M Richiamare una singola funziona da file php PHP 2
M Richiamare funziona da file esterno jQuery 0
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
T [Javascript] Richiamare un file.js (iframe) in html Javascript 1
A Richiamare funzioni esterne JS da PHP PHP 9
C richiamare una funzione in un altro script php PHP 1
A [Flash] richiamare JS da AS3 Flash 0
G [PHP] RICHIAMARE TABELLA I CUI VALORI SONO STAMPATI A VIDEO E MODIFICARLI PHP 6
Shyson [WordPress] Richiamare nel mio sito numero iscritti da gruppo Facebook WordPress 0
S [PHP] Aiuto! Non riesco a richiamare una variabile PHP 2
A [Javascript] richiamare lo pseudo elemento after Javascript 1
B [Javascript] Richiamare un attributo DATA Javascript 0
gandalf1959 richiamare una funzione da un'altra funzione PHP 1
gandalf1959 richiamare una funzione: funziona solo la seconda volta... PHP 7
E Richiamare funzione Jquery dopo aggiornamento parziale di pagina tramite ajax jQuery 0
Z richiamare codice html in file php PHP 2
T Richiamare il click su un input type="image" alla pressione del tasto invio su una text area. PHP 0
B richiamare variabile javascript su pagina php Javascript 4
elpirata Richiamare un campo input in una form Javascript 2
M [Datetimepicker]Richiamare funzione per più id uguali jQuery 4
G Richiamare funzioni esterne PHP 0
K richiamare 2 volte stessa funzione Javascript 1
Shyson Richiamare funzione esterna jQuery 4
P 2 hosting da richiamare con dominio e sottodominio Hosting 0
scatenato richiamare id PHP 28
P Problema per richiamare una variabile... PHP 3
gandalf1959 Richiamare un javascript da php. Non funziona? PHP 2
I richiamare dati da menu a tendina mysql PHP 2
L problema nel richiamare gli id HTML e CSS 2
P come richiamare una variabile PHP 3
A richiamare funzione javascript dopo login in popup. Javascript 0
I richiamare dati da database in due variabili differenti PHP 2
L Non riesco a far funzionare un plugin (probabilmente ho sbagliato qualcosa nel richiamare lo script) jQuery 10
G Richiamare una classe Sviluppo app per iOS 0
I Richiamare funzione jquery all'invio del form php Javascript 6
M Richiamare una foto dal database PHP 3
M Richiamare una data inserita nel database tramite php. PHP 4
P creare e richiamare una stored procedure in sqlserver .NET Framework 1
R [Vb.net] richiamare funzione javascirpt .NET Framework 0
I richiamare id PHP 15
Shyson richiamare contatore PHP 5
Shyson Richiamare pagina personalizzata PHP 10
G Richiamare URL in Background (Nascosto) come se fosse eseguito da browser PHP 3
B Richiamare un array in una classe PHP 7
P Richiamare id e class HTML e CSS 3
Shyson Richiamare 2 getElementById uguali Javascript 0

Discussioni simili