Autor Zpráva
Mikeses
Profil
<?php
if (isset($_GET['menu'])) {
  $menu = preg_replace('/[^a-z]/i', '', $_GET["menu"]); //kvuli bezpecnosti
if(file_exists('./inc/$menu.inc')) {
  include "./inc/$menu.inc";
} else { include "./inc/portal.inc";} 
}
else {include "./inc/portal.inc";}
?>

vzdy se includuje defaultne pls help
Radek9
Profil
Mikeses:
if(file_exists('./inc/$menu.inc')) {
include "./inc/$menu.inc";“ //Je sice dobře, ale prasárna
<?php
if (isset($_GET['menu'])) {
  $menu = preg_replace('/[^a-z]/i', '', $_GET["menu"]); //kvuli bezpecnosti
if(file_exists('./inc/'.$menu.'.inc')) {
  include "./inc/".$menu.".inc";
} else { include "./inc/portal.inc";} 
}
else {include "./inc/portal.inc";}
?>
Majkl578
Profil
Radek9:
No tys to teda nenapsal o moc hezčeji... V těch {} aby se prase vyznalo...

Co to zkusit jinak?
$path = dirname(__FILE__) . '/inc/';
$filename = 'portal'; //default page

if (isset($_GET['menu'])) {
	if (!preg_match('~^([a-z]+)$~i', $_GET['menu'], $match)) {
		throw new InvalidArgumentException('Invalid menu name given');
	}
	if (file_exists($path . $match[0] . '.inc')) {
		$filename = $match[0];
	}
}

require $path . $filename . '.inc';

Adresa bude vypadat takto: ?menu=foo kde foo je existující soubor s příponou inc v podsložce inc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: