Si, diciamo che ho capito però c'è 1 problemino...
Che faccio? Ti ringrazio per le varie risposte!codice:Parse error: parse error, unexpected T_IF in /blabla/index.php on line 3![]()
Si, diciamo che ho capito però c'è 1 problemino...
Che faccio? Ti ringrazio per le varie risposte!codice:Parse error: parse error, unexpected T_IF in /blabla/index.php on line 3![]()
avevo dimenticato una virgola
<?php
$page = $_GET['a'];
if(!isset($_GET['a'])) { $page = "default"; }
require($page.".php");
?>
così dovrebbe andare.
Inutile dirlo.... funziona alla perfezione!!!
Grazie 1000 !!!
Io avrei qualche precisazione da fare.
1) Le variabili globali non si richiamano con l'array $HTTP_GET_VARS o $HTTP_POST_VARS (questo array è ancora disponibile ma deprecato) ma con $_POST o con $_GET.
2) Ancora ricordati che nella query string l'utente può inserire qualsiasi cosa.
Prima di utilizzare la variabile, quindi, sarebbe opportuno prepararla
3) Ancora mìnon basta. Potrebbe capirae che l'utente inserisca un valore arbitrario e quindi di fatto la pagina non verrebbe trovata.Codice PHP:$replace[] = "'" ;
$replacer[] = '' ;
$replace[] = '"' ;
$replacer[] = '' ;
foreach ( $_GET as $key => $value )
{
$_GET[str_replace( $replace , $replacer , $key )] = str_replace( $replace , $replacer , $value ) ;
}
Sarebbe opportuno, quindi, effettuare un ulteriore controllo sulla variabile contenente il nome della pagina in questo modo:
Ma ancora non basta. Questo controllo, infatti, è poco flessibile. Si può ovviare controllando che il file passato esista:Codice PHP:switch ( $_GEY['a'] )
{
case 'pagina 1' :
case 'pagina 2' :
case 'pagina 3' :
include ( $_GET['a'] ) ;
break ;
default:
echo 'Pagina non trovata' ;
}
Ciao!Codice PHP:if ( file_exists( $_GET['a'] ) )
{
include ( $_GET['a'] ) ;
}
else
{
echo 'Pagina non trovata' ;
}
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
Ti chiedo anticipatamente scusa ma non ho capito un h di ciò che hai scritto...![]()
se non chiedo troppo e se ne hai ovviamente voglia potresti scrivermi il codice completo da inserire in index.php??
... ho provato a capirci qualcosa ma sono eccessivamente ingorante in materia!
Ti ringrazio,
Ciao.
Il codice completo njo perchè se dovessi scrivertelo tu non impareresti niente! Al massimo posso spiegartelo!![]()
La prima parte (quella dove uso str_replace e foreach) serve per sostituire sia nella chiave che nel valore gli apici ed i doppi apici con uno spazio. Questo per limitare eventuali falle nel codice.
foreach
str_replace
La seconda parte è lo switch.
La funzione dello switch è uguale a quella di una serie if elseif ed else. La differenza è che è molto più pratico e veloce se l'if si basa tutto su una var.
Il codice che ho scritto sopra dice:
" esamina il valore di $_GET['a']. Se è uguale a pagina 1, pagina 2 o pagina3 allora inserisci la pagina. Se non è uguale a nessuno di quei valori scrivi che la pagina non è stata trovata ".
switch
La terza parte credo non abbia bisogno di spiegazione! Controllo semplicemente che un file esista e se esiste lo includo.
file_exists
Ciao!
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
Hai perfettamente ragione...
Oggi cerco di capire qualcosa di ciò che mi hai linkato!
Grazie per l'aiuto e la spiegazione!
Ciao
Di niente! Cmq se hai difficoltà (e ne avrai sicuramente visto che non sei padrone delle strutture e delle funzioni che ho postato!) posta pure! Ti aiuterò a capire meglio il tutto! Ciao!
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!