Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP webová prezentace

Dobrý den,
chtěl bych si vytvořit stránky, a dát tam nějakej php skript. (php mi moc nejde)

Chci aby se každá stránka předávala pomocí ?id=_____
A když ?id=bude odkazovat na neexistující soubor zobrazí se stránka o neexistuje (Toto je ten problém)

<?php
if(isset($id))$nazev=$id.".html"; 
         else ("Stranka neexistuje.");
 if(file_exists($nazev)){
   $s=fopen($nazev,"r");
   $obsah=fread($s,filesize($nazev));
   fclose($s);
   }

?>

Tenhle skript by to měl zajistit ale nevím jak udělat to o neexistujici strance tohle nějak nefunguje.

Předmět Autor Datum
<?php if(isset($id))$nazev=$id.".html"; else ("Stranka neexistuje."); if(file_exists($nazev)){ $s=fo…
Wikan 25.04.2012 19:52
Wikan
Proč 2x if? Sloučil bych to jedné podmínky...
host 25.04.2012 22:53
host
Protože v původním dotazu je jeden řádek vynechaný, tak jsem do toho prázdného místa udělal Copy&Pas… poslední
Wikan 26.04.2012 07:37
Wikan
<?php $id = $_GET['id']; if (strlen($id) > 10){ die("Neplatný pokus o změnu interní stránky."); } sw…
Eessencia 25.04.2012 23:03
Eessencia
Civím na ten tvůj kód asi 5 minut a nezlob se na mě, ale je to prasárna, která sice možná nějak fung…
host 25.04.2012 23:12
host
Neciv a řekni mi co je na tom prasárna?
Eessencia 25.04.2012 23:13
Eessencia
Kdybych měl vyjmenovat všechny podivnosti, které tam vidím, to by přesahovalo rámec poradny i délku…
host 25.04.2012 23:18
host
$id si klidně přejmenujte na $salam.. Pokud vlastním malou statickou stránku, tak tě čas stráveny vy…
Eessencia 25.04.2012 23:26
Eessencia
Díky za znalecký rozbor mé osobnosti. Uznávám, že jsem nafoukanec a nic nevím. Tvoje posty mazat ne…
host 25.04.2012 23:40
host
Mě jenom udivuje, že nedokážeš odpovědět na jednoduchou otázku. Kritizovat ti jde, ale když máš obhá…
Eessencia 25.04.2012 23:46
Eessencia
Svůj postoj jsem vysvětlil, pokud ti to nestačí, tak bohužel. To bychom tady mohli diskutovat do rán…
host 25.04.2012 23:55
host
Ja myslim, ze ten zdrojak je dobrej. Pravda na profi web to neni ale na malinkej je to dobre
ERASER 26.04.2012 03:08
ERASER
<?php 
$id = $_GET['id'];
if (strlen($id) > 10){
 die("Neplatný pokus o změnu interní stránky.");
}

switch($id){ 
 case "stranka1": $id = "pages/stranka1.php"; break;
 case "stranka2": $id = "pages/stranka2.php"; break;
 case "stranka3": $id = "pages/stranka3.php"; break;
 default:         $id = "pages/stranka1.php"; break;
}
?>

Co to udělat takhle?
1.) Vytvoř si soubor a dej do něj kód viz. nahoře - pagescript.php
2.) Do index.php hoď nahoru - require('pagescript.php');
3.) Kam budeš chtít includovat text tak dej - include $id;
4.) Soubory, které budeš includovat ulož do složky - pages/

Pak stačí jen pracovat se soubory...
Pokud bude ?id= špatně, nebo nebude, přesměruje to člověka na defaut:

Je to jednoduché a funkční... GL

Kdybych měl vyjmenovat všechny podivnosti, které tam vidím, to by přesahovalo rámec poradny i délku času, který bych tomu chtěl věnovat. Počkej na vyjádření někoho jiného, aby sis nemyslel, že jsem nějak zaujatý.

Třeba mi vůbec není jasné jak funguje ta podmínka if, dále je zvykem že id je číslo a ne řetězec, proč bych měl x-krát psát pages/ když to můžu napsat jen jednou pro všechny stránky společně, atd...

$id si klidně přejmenujte na $salam..
Pokud vlastním malou statickou stránku, tak tě čas stráveny vypsáním adres k souborům obere asi o 2 minuty života a už se na ten soubor ani nepodíváš.
Podmínka if je jen proto, aby $id nemohlo být delší jak 10 znaků, já to např. využívám v antibotu, ale nemusí to být.

Nelíbí se mi, že tu mluvíš o jakési prasárně, ale na normální otázku jaké? Odpovíš, že by to trvalo obrazně "roky". Buď nic nevíš, nebo si nafoukanec co kritizuje, ale sám nic nenabízí.

Prosím tedy o smazání všech mích postů v tomto topiku, aby se náhodou nováčci nenaučili "prasárny" které nejdou ani popsat.

Mě jenom udivuje, že nedokážeš odpovědět na jednoduchou otázku.
Kritizovat ti jde, ale když máš obhájit svůj postoj tak se vymlouváš na čas?
Pokud ty jsi Admin na PORADNA.net tak by mě zajímalo, k čemu tu jsi, když neradíš?
Já nemám zapotřebí někoho urážet, nebo se hádat, pouze vyjadřuji svůj názor na tvůj podivuhodný postoj.
Neber to tedy zle, já se pouze slušně zeptal a ty odpovídáš v hádankách a mimo téma. Pokud nemám zájem radit, vyjádřit se k tomu a upozornit, tak se přeci neprojevuji ne?

Svůj postoj jsem vysvětlil, pokud ti to nestačí, tak bohužel. To bychom tady mohli diskutovat do rána a stejně si každý bude tvrdit svoji pravdu.

Admin jsem, no a co? To s mými názory přece nesouvisí. Jestli myslíš, že Admin je od toho, aby radil, tak máš trochu zkreslné představy.

Zpět do poradny Odpovědět na původní otázku Nahoru