Autor Zpráva
David1256
Profil
Před chvílí se tu někdo ptal na to, jak například z této adresy http://www.neco.cz/index.php?id=1 udělat učesanější tvar. Mě by zajímalo, jak vůbec udělat ten první tvar tedy http://www.neco.cz/index.php?id=1. Zatím jsem měl stránky uloženy v souborech. Tento tvar vypadá na to, že je stránka uložena někde v databázi, ale jelikož jsem v mysql začátečník, tak nevím, jak na to. Nemohl byste mi to tu někdo prosím nastínit?
panther
Profil
David1256:
takto to funguje s DB i se soubory. Ve spojitosti s DB se používá buď ID, nebo název stránky (upraven pro URL), se soubory se používá často jméno souboru.

www.example.com/page=kontakt - include souboru kontakt.php
www.example.com/page=kontakt - SELECT obsah FROM tabulka WHERE url = $_GET['page']
www.example.com/id=2 - SELECT obsah FROM tabulka WHERE id = $_GET['id']

Samozřejmě to ani jedno není zabezpečené, jen náznak (u ID kontrola datového typu - INT, atp.).
David1256
Profil
Díky, ale ještě by mě zajímalo, jak to zapracovat do <a>Odkaz</a>. Jak řeknu tagu <a>, aby odkazoval na stránku www.example.com/page=kontakt ?
panther
Profil
David1256:
atributem href, stejně jako u jiných odkazů. <a href="?page=kontakt"> či <a href="example.com/index.php?page=kontakt">
David1256
Profil
Asi to špatně chápu, protože mi to nefunguje. Pochopil jsem to dobře, že když udělám odkaz takto <a href="?page=kontakt"> přesměruje mě to po kliknutí na odkaz na stránku kontakt.php? Mě to takhle totiž jenom přihodí ?page=kontakt za aktuální adresu, ale nikam mě to nepřesměruje.
panther
Profil
David1256:
přesměruje mě to po kliknutí na odkaz na stránku kontakt.php?
ne, přesměruje tě na ?page=kontakt.

Chceš-li se dostat na stránku kontakt.php, zadej toto do atributu href.
David1256
Profil
My si asi nerozumíme :-). Dostali jsme se opět na začátek. Vím, jak se dostat na soubor kontakt.php, ale ještě jsem nějak nepochopil, co je tedy obsahem adresy?page=kontakt. Hodněkrát vídávám takovéhle url na webu, a tak mě zajímá, když chci mít taky takovéhle url, jak na to.
wolfik
Profil
David1256:
Dobrý den,
tady je to pěkně vysvětlené: Odkaz
David1256
Profil
wolfik:
Díky, tak jsem to nastudoval podle toho odkazu a už to funguje, jak jsem potřeboval. Ještě tu ve stručnosti popíšu, jak jsem to udělal, aby až někdo bude mít podobný dotaz, nemusel tolik číst.
Postup:
Máme stránku např. index.php, kde jsou různé includy (header, obsah, menu, patička atd...). Obsah stránky, který se mění je jen jeden include, v našem případě obsah, ten nahradíme tímto.
<?php include ($soubor); ?>

Navíc na stránku index.php vložíme toto.
<?php $soubor = "includy/".$stranka.".php"; //  proměnnou $stranka definujeme v url,  proměnnou $soubor includujeme do index.php, proto musíme proměnné $soubor přiřadit cestu k souboru
if (!file_exists($soubor)) { // pokud není $stranka definována tzn. jsme na zakladni stránce tzn.  proměnné $soubor přiřadíme include, který je na první stránce
$soubor = "includy/novinky.php";
}
 ?>

No a naposled chceme vyvolat různé stránky tzn. nadefinujeme přes url proměnnou $stranka a to asi takhle
<a href="?stranka=onas">O nás</a>

Snad je to dost srozumitelné.

Teď bych se ještě rád zeptal, jak se to dělá přes tu databázi takováhle url?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0