| 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: 14 let
|
|||
0