Autor Zpráva
Daniel01
Profil
Zdravím,
vím, že je několik způsobů, jak tohle vyřešit. Ale mnoha znich nerozumím a potřeboval bych je vysvětlit. Nikde jsem žádný návod nenašel, protože ani nevím, jak se to správně jmenuje...

Takže jaký je nejlepší způsob pro vkládání 3, 10 a 50 stránek?

A co ošetření proti vložení cizí stránky, nebo stránky jiné? Když se tam ta stránka nenachází, tak hodit 404 error.

Dejme tomu, že budu mít index.php
a chci, aby se vložil login.php (tedy pokud tam ta proměnná page vůbec nebude)
a pokud bude index.php?page=X - tedy jakákoli stránka, tak ať se vloží.
Taps
Profil
Daniel01
metoda se jmenuje php include
Pokud použiješ google tak určitě najdeš spoustu informací ohledně této metody
návod jak vložit stránku najdeš např. na
http://pecan.cz/index.php?id=44&n=konec-ramcu-v-cechach

co se týče bezpečnosti
http://www.soom.cz/index.php?name=articles/show&aid=365
Daniel01
Profil
No dobrá... Ale možností je mnohem více (switch, pole, atd...) To jsem nenašel...

A co teda použít, pokud budu mít 3, 10 a nebo 50 stránek?
Taps
Profil
Daniel01
já používám metodu od pecana. Podle mě je to lepší, protože kdyby jsi používal switch tak by jsi musel do skriptu zapisovat jednotlivé stránky např. nějak takto
switch($_GET['page']) {
    case false :
        include "./inc/uvod.php";
    break;
    case 'kontakt' :
        include "./inc/kontakt.php";
    break;
    case 'kniha-navstev' :
        include "./inc/kniha-navstev.php";
    break;
    default:
        include "./inc/404.php";
    break;
}
AM_
Profil
já používám něco jako pecanovu metodu a proti vkládání nežádoucích souborů se chráním jednoduše - stačí tam dát jeden preg_replace, který vyhází všechny ne-alfanumerické znaky a pak už není moc co řešit - s pomocí číslic a písmen těžko kdo co podstrčí (tedy pokud jsou vkládané soubory ve zvlášť adresáři a nejsou tam žádné navíc.
Třeba:
$section = empty($_GET['page']) ? 'uvod' : preg_replace('/[^a-z0-9]/i', '', $_GET['page']);
include "content/$section.php";

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: