PHP include

Čau lidi, prosím Vás nevíte někdo jak mám udělat aby když dám index.php aby tam se tam načetl include uvod.php aneb aby když zadám index.php aby se načetlo index.php?stranka=uvod ?

<?php
$stranka = $_GET["stranka"];
$soubor = $stranka.".php";
include $soubor;
?>
<HTML>Plácni se přes prsty a podívej se, co za bezpečnostní díru sis to vyrobil. Chybí jakákoliv kontrola vstupních proměnných, např. pomocí příkazu switch. Zbytek jaksi vyplyne sám.</HTML>
Podmínky ti nic neříkají? Navíc ten kód není ošetřen před útoky.

if (isset($_GET['stranka']) {
if (file_exists($stranka .'.php')) {
include $stranka .'.php';
} else {
include 'error.php'; // takova stranka neexistuje
}
} else {
include 'uvod.php';
}
No já v PHP skoro neumím v proměných umím akorát úplný základy tady s tímto mi pomáhal kamoš. A mohl by si mi nějak pomoct jak to mám udělat?
Jo díky Tomíku ale ten kód mi háže chybu. Tuhle: Parse error: syntax error, unexpected '{' in C:\Programy\EasyPHP5.2.10\www\WEB\index.php on line 58
Mohl by si mi poradit co s tím prosímtě? Předem díky.
http://mxvsatv.xf.cz/web/vsehochut1234/ Pro ukázku jsem to dal na web...
Anglicky umíš?

Pokud ano, tak si tu chybu přelož do češtiny a oprav ji (řádek 58 v souboru index.php jistě najdeš). Očividně jsi někde ubral nebo přidal {} závorky.

Pokud ne, tak se na php vybodni a začni výukou angličtiny.
Tak nakonec jsem ten kód trochu poupravil a všechno šlape jak má ale akorát na normálním serveru, přes EasyPHP 5.3.0 mi to nejde... V tom se mi načte akorát do index.php akorát uvod.php a žadný jiný odkazy nefungují. A když dám jiný odkaz tak mi to píše tu stranka_nenalezena.php jak jsem si nastavil a nad tím se napíše Notice: Undefined variable: stranka in C:\Programy\EasyPHP5.3.0\www\WEB\index.php on line 59 Jo a to, že je to nějaká chyba na řádku 59 to vím.... :-). Tady přikládám kód, který tam mám tak poradte pls.

<?php
if (isset($_GET['stranka'])) {
/*tady je 59 řádek*/ if (file_exists($stranka .'.php'))
{include $stranka .'.php';}
else {
include 'rubriky/stranka_nenalezena.php';
}
} else {
include 'rubriky/uvod.php';
}
?>
<HTML>Nemáš nikde definovanou proměnnou $stranka. Ani já nevím, co vlastně obsahuje (a netvrď mi, že je to totéž, co $_GET['stranka']).

A znova: plácni se přes prsty a podívej se, jakou bezpečnostní díru sis tam udělal.</HTML>
Můj příklad jsem psal rychle z hlavy. Tak je možný, že může obsahovat chyby. Nic ti však nebrání to opravit.
Tak jsem našel na webu něco lepšího i s lepší ochranou ale nejde mi to nevídte někdo proč? Stránky, který chci vložit do toho kde je tenhle kód takže do obsahu jsou uložený ve složce stranky.

<?php
if (isset($_GET["stranka"]) && substr_count($_GET["stranka"], "/") < 1)
$stranka = $_GET["stranka"];
else
$stranka = "uvod";

$soubor = "stranky/$stranka.php";
if (file_exists($soubor))
include $soubor;
else
include "stranky/stranka_nenalezena.php";

?>
Vůbec nic to nedělá prostě ani chybu to nehodí je tam akorát furt načtenej ten uvod.php.... :-/
Bylo by dobré naučit se PHP. Tady je vidět typický příklad začátečníka. Na internetu něco najde a nějak to splácá do kódu. Přitom ani neví, co kód dělá.
Přitom ten můj příklad je ukázkou naprosto jednoduchého kódu, který by začátečník měl pochopit. Samozřejmě že obsahuje chyby, ale začátečník by chybu měl pochopit. Pokud považuješ za základ pouze <?php echo "Ahoj"; ?>, tak prosím, ale toto je primitivismus ne základ. Podmínky patří mezi základy.

Trochu rejpnu a přidám se k Nípalovi :)
V čem je ten nový kód lepší a bezpečnější než ten předchozí?
To nevím v čem je bezpečnější... Ale prosímtě už jsem našel kde je v tom kódu chyba $soubor vždycky vypysuje stranky/uvod.php nic jiného nevypíše nevíš jak to prosímtě napravit?
Dobrý už jsem na to přišel vše jde ok....