Autor Zpráva
PetrQ
Profil
Zdravím všechny,
prosím o pomoc s následující funkcí - vkládá obsah stránky do index.php.
Funguje pro stránky php, které jsou ve stejném adresáři, jako index. Nejsem schopen to rozchodit, abych mohl vkládané stránky umisťovat a třídit do podadresářů.
Děkuji všem Petr

Funkce:

function ukazclanek ()
{ 
  if ((string)$_REQUEST["clanek"]<>'') $mujclanek=$_REQUEST["clanek"]; else $mujclanek="uvod";
  if (is_file("./".$mujclanek.".html")):
    $nazevclanku=$mujclanek.".html";
    require $nazevclanku;
  elseif (is_file("./".$mujclanek.".php")):
    $nazevclanku=$mujclanek.".php";
    require $nazevclanku;
  else:
    $nazevclanku=$mujclanek.".html";
    require "notfound.php";
  endif;
}
AM_
Profil
Není to zrovna bezpečně napsané, přinejmenším ti to může někdo krásně zacyklit, když zadá "index.php?clanek=index".

Podmínka taky nic moc, pokud existuje "./mujclanek.php", vlož "mujclanek.php". Nemusí se nutně jednat o jeden a ten samý soubor (ikdyž v tomhle případě asi bude, ale tu cestu bych psal stejně pro zachování alespoň estetiky).

Vložení z jiného adresáře:
if (is_file("./clanky/".$mujclanek.".html")):
    //$nazevclanku=$mujclanek.".html"; //na co je tento mezikrok, když ta proměnná se stejně použije jen jednou? vyhodit...
    require "./clanky/$mujclanek.html";
PetrQ
Profil
AM:
Díky moc, to je přesně ono!
Funkce je převzatá ze seriálu PHP na Linuxsoft, coby totální začátečník, nezbývá mi než jim důvěřovat, když to má být výukový materiál :o))

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: