Co znamená a jak funguje ?page

Na webu svého kamaráda jsem našel pro mš zajímavou věc - všechny texty má v jednom souboru index.php a pomocí jakýchsi class zobrazuje vždy jenom jeden článek označený danou class. Jak to přesně to funguje? Kde je na to nějaký návod?

U toho kamaráda vypadá daný odkaz takhle:


<a class="odkazy" href="./index.php?page=něco">Něco</a>


Dík, T2Fuser
To je to slavné skriptování v PHP prostředí serveru - zde jde o jeden soubor, do kterého se vkládá různý obsah, uložený v souborech .php.
já jen dodám - class s tím nesouvisí. class je třída prvku pro CSS formátování.
A jak to teda funguje?
podle toho co myslíš. class funguje tak, že si označíš třídou nějaký prvek, a v CSS stylu mu podle toho "adresně" přiřadíš formátování.
http://faq.webzdarma.cz/otazka.php?38

php - resp. to na co se ptáš - to už je složitější na vysvětlení. Kup si knížku a nauč se PHP. Zkusím to alespoň obecně:
odkazem index.php?page=novinky se při kliknutí předá skriptu proměnná $page s hodnotou novinky. Ve skriptu index.php máš potom podmínku, která zjistí hodnotu v proměnné $page, a pokud je to zrovna hodnota "novinky", udělá něco, pokud je hodnota jiná, udělá něco jiného atd. To co udělá, je v takovémhle případě načtení (inkludování) příslušného souboru. Takže po kliknutí zůstaneš na stránce index.php, ale protože tam byla ta proměnná, ta stránka může vypadat úplně jinak než předtím, protože se do ní inkludovala jiná stránka než předtím.

uf, rozumíte tomu někdo? Já už asi ne ;-)
tady jsem začínal já:
http://www.tvorba-webu.cz/php.php3
http://www.jaknaweb.com/php_vyuka.php
... jsou to možná starší seriály, ale pro začátek snad dobrý
T2Fuser:

Vytvoříš si jeden soubor index.php, kterej bude rozdělenej dejme tomu na levý menu a napravo bude hlavní obsah. V tom levým menu budou odkazy:

<div id="leftmenu">
<a href="index.php?page=novinky">Novinky</a>
<a href="index.php?page=kniha">Kniha návštěv</a>
<a href="index.php?page=about">Něco o mně</a>
</div>

Všimni si, že pokaždý má předávanej parametr "page" v odkazu jinou hodnotu a to je právě název souboru, kterej se vloží do hlavního obsahu.taky si všimni, že názvy těch souborů jsou bez přípony, takže si je vytvoříš s příponou .php nějak např. takto:

novinky.php
kniha.php
about.php

Poté bude následovat kus PHP skriptu, kterej vloží tento soubor do hlavního obsahu.


<div id="hlavni_obsah">

<?php
$file = $_GET["page"].".php";
if(file_exists($file)){
include($file);
}else{
include("default.php");
}
?>

</div>

Skript nejprve ověří, jestli soubor vůbec existuje a pokud ano, vloží ho. V opačném případě se vloží soubor "default.php"

Pár rad na závěr:

Soubory, který se budou vkládat do souboru index.php, nebudou obsahovat tagy jako <HTML>, <HEAD<, >BODY>, prostě v nich bude vyloženě jen to nutné.

Tyto vkládané soubory nemusí mít koncovku .php, avšak soubor "index.php" jí mít musí.
blahapet:
Tady bych upozornil, že při volání index.php?page=index dojde k zacyklení. Způsob, který popisuješ, je navíc nevhodný, protože tímhle může útočník snadno vložit libovolný php soubor na tvém účtu. Lepší by tedy asi bylo místo $file = $_GET["page"].".php"; dát $file = './index_pages/'.$_GET['page'].'.php'; a radši ještě kontrolovat, zda do toho útočník nenasypal lomítka pro vrácení se do kořenového adresáře apod. Jiným řešením by bylo zvolit nějakou úplně unikátní příponu, kterou budou mít jenom ty indexové pagy. Pak už jakékoliv bezpečnostní riziko mizí, ba dokonce i možnost zacyklení.

Na ?page=něco je dle mého názoru nejlepší třeba switch, pokud je pagí méně, nebo mysql, pokud jich je podstatně více.
Nípal:

Myslím si, že pro začátek kdy on nezná PHP, mu to bohatě stačí, i když je fakt, že tento způsob není nejbezpečnější.
Díky Vám všem, tohle je takové nahrazení ifremeu? Že? A s tím php jsem začátečník, který dokáže něco vytvořit podle návodu.
Hodně štěstí ...
Co když mám ty soubory ve složkách? A co mám dát do vkládané ho souboru?
Ze složek to funguje, ale adresy musí být jako bys je psal v té stránce, kterou máš v prohlížeči. Vyber si poštu, poslal jsem ti příklad.