Autor | Zpráva | ||
---|---|---|---|
MichaelaRendy Profil |
#1 · Zasláno: 25. 12. 2012, 09:31:19
Ahoj!
Omlouvám se, že ruším ve vánočním čase, ale nevím si s něčím rady.. Vytvořila jsem webovky- www.neu.cckopava.cz (nejsou ještě dotažené do konce) a zasekla jsem se u funkce include().. Nechce ani zaboha fungovat.. Jde mi o vkládání obsahu, v souboru index.php mám napsané toto: <?php if (isset($_GET['page'])){ // pokud byl odeslán ?page= ... $soubor=$_GET['page']; $soubor2= dirname($_SERVER ['SCRIPT_FILENAME'])."/".$soubor.".php"; if(file_exists($soubor2)){ //pokud soubor existuje, načteme ho do středu if(substr_count($soubor,"../")>0){ // pokud je v parametru alespoň 1x ../ neumožíme soubor načíst echo "<h3>Upozornění</h3>Nelze nahrát soubor v nadřazeném adresáři!"; }elseif($soubor=="index" or $soubor=="/index"){ echo "<h3>Upozornění</h3>Index nemůže načíst sám sebe!"; }else{ include $soubor2; } }else{ //pokud soubor neexistuje, zavoláme error404.php include "error404.php"; } }else{ // Pokud nebyl paramentr page volaný, načteme uvod.php include "uvod.php"; } ?> Stejný kód máme na starém webu (www.cckopava.cz) a zde funguje bez problémů, teď se mi zobrazí pouze úvodní stránka (uvod.php) a když kliknu na "menu" (také vede na uvod.php), tak se úvod znovu nezobrazí... A netuším, kde je chyba.. Děkuji za každý názor a přeji klidné a pohodové vánoční svátky.. Michaela |
||
Rellik Profil |
#2 · Zasláno: 25. 12. 2012, 09:55:55
MichaelaRendy:
a když kliknu na "menu" (také vede na uvod.php) - vždyť to funguje správně, protože odkaz menu vede na uvod.php ale tam přípona .php nemá co dělat... ;) http://neu.cckopava.cz/index.php?page=uvod |
||
Tori Profil |
#3 · Zasláno: 25. 12. 2012, 12:43:43
MichaelaRendy:
Na ř.14 by stačilo strpos - nechcete přece vědět kolikrát přesně tam lomítko je, ale jestli tam je aspoň jednou. Anebo na ř.7 použijte: $soubor = basename($_GET['page']); - pak nemusíte kontrolovat existenci lomítek vůbec, protože basename ponechá jen název souboru. (I když možná by se v tom případě mohlo kontrolovat, jestli se liší GET[page] a basename(GET[page]) a pokud ano, tak přesměrovat na tu správnou adresu, aby nevznikaly duplicity (stejný obsah na ?page=uvod a ?page=/cesta/kamsi/uvod).
|
||
MichaelaRendy Profil |
#4 · Zasláno: 25. 12. 2012, 16:20:24
Rellik, děkuju moc za pomoc! :)
A Tori - zkusím to a uvidím, každopádně díky za námět... :) |
||
Časová prodleva: 12 let
|
0