Ser da eller nogenlunde rigtigt ud. Afhængig af din PHP version.
Har du en nyere version af PHP skal du (afhængig af serveropsæt) bruge $_GET['data'] i stedet for $data i ovenstående. Læs mere herom:
http://dk.php.net/manual/en/language.variables.predefined.phpKan godt være du var klar over ovenstående, men nu står det her så bare engang til :)
Iøvrigt skal du passe på bare at inkludere en variabel du modtager på den måde. Brugeren kan jo skrive i denne, hvad han vil.
Du er sikret lidt, fordi du kun kigger i mappen /data/ og har .inc som faste dele af din sti. Men ellers foretil dig $_GET['data'] af brugeren (via URL'en) sættes til ".htaccess" eller "../.htaccess" el. lign, og du så bare uden at checke noget laver include($_GET['data']). Det ville ikke være heldigt.
Enten er du modig og gør, som du har gang i:
if (!isset($_GET['data']))
include("data/fejl.inc");
else
include("data/".$_GET['data'].".inc");
(Funktionen isset() checker bare om en variabel er sat eller ej)
Eller så checker du explicit indhold af $_GET['data'] i stil med:
if (isset($_GET['data']) && ($_GET['data'] == 'side_a' || $_GET['data'] == 'side_b')) {
# nu ved vi at vi kun inkluderer side_a eller side_b
include("data/".$_GET['data'].".inc");
} else
include("data/fejl.inc");