ugrás a tartalomhoz

Include

Anonymous · 2004. Okt. 15. (P), 19.41
Sziasztok!
A gondom a következő: van egy oldal, amibe a tartalmat (.txt) paraméterezés szerint be kéne tölteni include()-dal.
Azt hittem, könnyű feladat lesz, de rá kellet jönnöm, hogy mégsem...
A kód:
<?php
$contdir = "content/";
$contfile = $contdir . $pa . ".txt";
if (file_exists($contfile))
{include ($contfile);}
else
{include ($contdir . "error.txt");}
?>

A bajom az, hogy hiába írom be, hogy pl. http://localhost/index.php?pa=main, csak a megadott error file-t tölti be.
A ./content/main.txt természetesen létezik.
Úgy sem működik, ha a tartalom file-ok és az index.php azonos mappában vannak.
Mi lehet a probléma (bár leginkább a megoldásra vagyok kíváncsi)?
A környezet: Win xp sp2, Apache 2.0.52, PHP 4.3.9.
A segítségeket előre is köszönöm.

Frankie
 
1

irasd ki a $pa valtozo erteket

pp · 2004. Okt. 15. (P), 21.22
valoszinuleg nincs bekapcsolva a register_global probald igy:

$contfile = $contdir . $_GET[$pa] . ".txt";


ha biztonsagot is szeretnel, akkor igy (kb):

if(!preg_match('/^\\w+$/',$pa))
{
   ...probalkozik valaki, itt az adataival kezdesz valamit, ha akarsz

   exit();
}
$contfile = $contdir . $_GET[$pa] . ".txt";


pp
2

register_global

RandolF · 2004. Okt. 16. (Szo), 00.14
Először is köszönet a gyors és hathatós segítségért (örömömben rögtön be is regsztráltam).
Igazad van, megnéztem és tényleg nem volt bekapcsolva a register_global, az említett módon (&_GET["pa"]) minden működik.