Autor | Zpráva | ||
---|---|---|---|
DasQweras Profil * |
#1 · Zasláno: 5. 3. 2012, 17:29:59
Zdravím.. mám problém..
Mám soubor new.php, stránku dejme tomu www.test.cz a když chci jít na stránku s new.php tak musím zadat - www.test.cz/new.php. Ale.. já chci, aby se to zobrazovalo takhle - www.test.cz/?page=new Jak na to? Vyzkoušel jsem hodně návodů.. ale jsem laik co php nerozumí.. Děkuji mockrát. |
||
martin1312 Profil |
#2 · Zasláno: 5. 3. 2012, 17:38:14
tu je to fajn popisane http://firstpage.rellik.eu/?page=stranky
|
||
Majkl578 Profil |
DasQweras:
Nejspolehlivější by bylo určit výčtem, které stránky jsou povolené a které ne. Nicméně při větším počtu je to nepraktické. V takový moment se hodí mít jednoduchý script, který bude dle parametru v URL načítat soubory např. z podadresáře (nazvěme ho pages) a zároveň předpokládejme, že v tomto adresáři nejsou jiné soubory, než ty, které se mají používat jako podstránky. Takový kus scriptu by pak vypadal například takto: <?php // Ověření existence query proměnné a zda není polem $page = isset($_GET['page']) && is_scalar($_GET['page']) ? $_GET['page'] : NULL; // složka s podstránkami $dir = __DIR__ . DIRECTORY_SEPARATOR . 'pages'; // výchozí soubor - pro případ neuvedení/neexistence atd. $file = $dir . DIRECTORY_SEPARATOR . 'default.php'; // název se skládá ze znaků a-z, 0-9, pomlčka, podtržítko a tečka if ($page !== NULL && preg_match('~^[\w-\.]+$~', $page)) { // sestavení cesty k souboru $tmp = $dir . DIRECTORY_SEPARATOR . $page . '.php'; // ještě ověření, zda existuje if (file_exists($tmp)) $file = $tmp; } // konečně načtení require $file; Toto řešení zároveň předpokládá existenci .htaccess, který zakazuje přístup zvenčí (přes prohlížeč, tj. deny from all ).
Příklady správných URL: http://example.com/?page=foo - OK, při existenci daného souboru
http://example.com/?page= - načte výchozí
http://example.com/?page[]=x - načte výchozí
http://example.com/?page=../index - načte výchozí
Něco takového by se možná hodilo i do FAQ. [#2] martin1312: To nepochybně. Na takové nekvalitní zdroje příště neodkazuj. |
||
DasQweras Profil * |
#4 · Zasláno: 6. 3. 2012, 02:24:51
Majkl578 - Děkuji moc krát.. ale asi se zeptám na totální hovadinu.. kam ten script umístit? index je v html..
martin1312 - Tak ten návod jsem nepobral |
||
Majkl578 Profil |
#5 · Zasláno: 6. 3. 2012, 02:31:57
DasQweras:
„kam ten script umístit? index je v html..“ V tom případě z něj udělej index.php a toto vlož na místo, kde budou načítány dané obsahy stránek (tj. např. hlavičku a patičku stránky máš vždy stejnou, tudíž ten kód dáš mezi). Do těch jednotlivých souborů pak vždy dáš jen tu část, která není společná (ta už je v index.php). |
||
martin1312 Profil |
#6 · Zasláno: 6. 3. 2012, 16:17:15
Majkl578:
mas pravdu nebolo to zabezpecene, kazdopadne ako zaklad je to dobre :) |
||
Časová prodleva: 11 let
|
0