Autor Zpráva
Nevím
Profil *
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
- 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 *
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
Nevím:
proč mám používat <?php a né <? ??

Můžeš narazit na hosting, kde <? nefunguje.
Nevím
Profil *
ok díky moc za obě rady :)
Nevím
Profil *
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;
}
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0