Link a pagine php

Non puoi eseguire il require di file con querystring, perché PHP cerca un file comprensivo di tutta la querystring. Si può fare, invece, se il file risiede su un sito esterno. Per spiegarti, puoi fare:
PHP:
<?php
require_once('http://www.google.it/index.php?q=ciao');
?>
Ma non puoi fare:
PHP:
<?php
require_once('index.php?q=ciao');
?>
Per ovviare a questo puoi fare:
PHP:
<?php
$_GET['q'] = 'ciao';
require_once('index.php');
?>
Ma non penso che sia questo il suo problema...
 
Buongiorno Borgo,

ho provato quanto mi hai detto ma purtroppo niente di nuovo.
Come passa i dati la pagina index.php alla pagina arte.php che si trova allo stesso, passami la parola, livello?
 
ciao
come vedi, in parte, ho detto una ca....a, non puoi fare
require_once "arte.php?arte=arte_astratta"; //vedi quello che dice il saggio
comunque se fai la querystr es index.php?page=pinco&arte=pallino;
il get viene letto dalla pag index e puoi il suo valore "muore", per farlo sopravvivere, e farlo leggere ad un'altra pagina, o usi le sessioni o i cookie
riguardo il tutto poi (forse ti so dire)
 
ciao
prova a vedere questo esempio

PHP:
<?php
if(!isset($_SESSION)){//ricordati queste istruzioni alla I° riga, prima di ogni tag html
session_start ();
}
//scrivo gli if come piace a me, poi mettili come vuoi
if(isset($_GET['page']){
	$page=htmlspecialchars(trim($_GET['page']));
}else{
	$page="centrale";
}
if(isset($_GET['arte']){
	$_SESSION['pinco']=htmlspecialchars(trim($_GET['arte']));//esempio arte_astratta
}else{
	$_SESSION['pinco']="dove vuoi che vada";
}
switch($page){ 
	case "centrale" : 
		require_once("centrale.php"); 
	break; 
	case "arte": 
		require_once("arte.php"); 
	break; 
	default: 
		require_once("error.php");
	break;
}
//eccetera
?>

nella pagina arte.php metti

PHP:
<?php
if(!isset($_SESSION)){
session_start ();
}
if(isset($_SESSION['pinco'])){
	$arte=$_SESSION['pinco'];
}else{
	$arte="IL VALORE CHE TI INTERESSA";
}

switch($arte){ 
	case "arte_astratta": 
		require_once("arte/arte_astratta.php"); 
	break; 
	default: 
		require_once("error.php");
	break;
}
//eccetera
?>

p.s.
guarda che è solo un esempio
 
Ciao,
l'ho appena provato su di un sito esterno ma mi da il seguente errore:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

Non vedo niente a video per cui non riesco a passare alla pagina arte_astratta che ho inserito nella cartella denominata arte.

sempre più buio?????
 
ciao
ho visto una cosa
if(isset($_GET['page']){
mi sono dimenticato una parentesi

(isset($_GET['page'])){

verifica tutto, ho fatto il copia/incolla
 
ciao
PHP:
Il valore GET non muore perché la pagina viene inclusa,
, hai ragione, avevo perso il filo.
per efisio: ritorna a quello che hai fatto
eventualmente subito sotto
$arte = isset($_GET['arte']) ? trim($_GET['arte']) : '';
metti
var_dump($_GET['arte']); e guarda cosa restituisce, se il valore che ritorna è giusto lo switch dovrebbe funziare.
un piccolo dubbio
cosa hai in arte_astratta.php? dici che la vedi bianca, giusto?
per caso hai delle immagini? se si stai attento hai percorsi perche se srte_atratta.php è nella cartella arte assime alle immagini e per visualizzarle ha fatto src="mia_immagine.jpg" quando fai l'include il percorso non è più valido, ma dovresti dare il percorsa da index.php e cioè src="arte/mia_immagine.jpg"

non so se mi sono spiegato bene
 
Grazie ai vostri suggerimenti e soprattutto alla vostra pazienza sono riuscito a risolvere il problema.
Grazie Alessandro 1997 Grazie Borgo

Ps: in locale non riuscivo a leggere la pagina nella cartella arte mentre in rete, su di un sito esterno ci sono riuscito, come diceva Alessandro.
 

Discussioni simili