Autor | Zpráva | ||
---|---|---|---|
Nevím Profil * |
#1 · Zasláno: 25. 1. 2011, 19:56:56
Zdravím, mám problém, učím se PHP s pomocí článků na Odkaz a rozhodl jsem se zkusit vytvořit stránku s tím rozdílem že nebudu mít všechny soubory naházeny v jedné složce ale uspořádáný do adresářů.
K věci - Vytvořil jsem index.php: <?php include("./structure/head.php");?> <?php include("./structure/left.php");?> <?php include("./structure/menu.php");?> <?php include("./structure/page.php");?> <?php include("./structure/footer.php");?> a do adresáře Structure jsem vytvořil všechny soubory a mírně je graficky poupravil. Dále jsem si chtěl vytvořit funkci pro zobrazování textu na stránce takže jsem si vytvořil podadresář root/structure/func/ a do něj sem vložil func.php: <? function ukazclanek () { if ((string)$_REQUEST["clanek"]<>'') $mujclanek=$_REQUEST["clanek"]; else $mujclanek="uvod"; if (is_file("./".$mujclanek.".htm")): $nazevclanku=$mujclanek.".htm"; require $nazevclanku; elseif (is_file("./".$mujclanek.".php")): $nazevclanku=$mujclanek.".php"; require $nazevclanku; else: $nazevclanku=$mujclanek.".htm"; require "notfound.php"; endif; } ?> dále sem ve stejném adresáři vytvořil notfound.php a uvod.php. Aby se to mělo kde zobrazovat tak sem v adresáři / structure/ přepsal page.php: <div style="background-image: URL('../images/page/page.png');float:left; width: 700px; height: 540px" background-repeat: no-repeat"> <?require "func/func.php";?> <?ukazclanek()?> </div> PROBLÉM: potom co nahraji soubory na ftp a otevřu stránku v prohlížeči tak se mi zobrazí celej web bez problému ale tam kde se má zobrazit text ze /structure/func/uvod.php se zobrazí /structure/func/notfound.php přitom všechny soubory na ftp mám dobře. Nepomohlo mi ani www.mojedomena.cz/index?clanek=uvod pořád se tam zobrazoval druhý mnou vytvořený soubor notfound.php . Lámal jsem si s tím hlavu a zjistil jsem že soubory index.php - page.php - func.php - uvod.php popř. notfound.php musí být ve stejném adresáři aby vše fungovalo jak má. Prosím o radu jak mít každý soubor v jiném adresáři ale aby to jelo jak má ? Nejde mě do hlavy proč se teda zobrazovala stránka notfound.php a né stránka uvod.php když byly ve stejném adresáří a uvod.php je nastaven na to aby se zobrazil ? proč se mi zobrazil až po vložení všech souborů do jednoho adresáře když notfound.php se zobrazovala pořád ? Předem děkuji PS: omlouvám se za hrubky, nejsem moc dobrý češtinář... |
||
AM_ Profil |
#2 · Zasláno: 25. 1. 2011, 20:44:22
- místo <? používej vždy <?php
- problém bude v tom, že cesty musíš upravit ve funkci ukazclanek() - sice jsi upravil cesty k hlavním PHP souborům, už ale ne ke konkrétním stránkám. |
||
Nevím Profil * |
#3 · Zasláno: 25. 1. 2011, 20:47:44
Ok když jsem se nad tím pořádně zamyslel tak sem si toho taky všiml, dík moc a proč mám používat <?php a né <? ??
|
||
xmark Profil |
#4 · Zasláno: 25. 1. 2011, 20:52:09
Nevím:
„proč mám používat <?php a né <? ??“ Můžeš narazit na hosting, kde <? nefunguje. |
||
Nevím Profil * |
#5 · Zasláno: 25. 1. 2011, 21:20:38
ok díky moc za obě rady :)
|
||
Nevím Profil * |
#6 · Zasláno: 25. 1. 2011, 21:41:51
AM:
Dělá to pořád, teď už nevím co s tím, malinko sem si změnil adresáře ale aktuální podoba funkce je <? function ukazclanek () { if ((string)$_REQUEST["clanek"]<>'') $mujclanek=$_REQUEST["clanek"]; else $mujclanek="pages/uvod"; if (is_file("./pages/".$mujclanek.".htm")): $nazevclanku=$mujclanek.".htm"; require $nazevclanku; elseif (is_file("./pages/".$mujclanek.".php")): $nazevclanku=$mujclanek.".php"; require $nazevclanku; else: $nazevclanku=$mujclanek.".htm"; require "pages/notfound.php"; endif; } ?> |
||
Časová prodleva: 13 let
|
0