Autor | Zpráva | ||
---|---|---|---|
sailen Profil |
#1 · Zasláno: 15. 7. 2012, 17:23:50
Dobrý den, pokusila jsem se napsat svou první funkci v PHP, ale nefunguje (přesněji nehlásí žádné errory, ale také nevypíše požadovaný text). Jde o menu, které na další stránky vkládám pomocí include. Stránky se nacházejí ve třech úrovních adresářů, tudíž na každý dokument existují z různých míst tři varianty relativních odkazů a já potřebuji, aby fungoval ten správný. Podařilo se mi sepsat kód, který to řešil, ale protože bych ho musela u každého odkazu opisovat, chtěla bych to řešit funkcí. Ta bohužel nefunguje a na webu jsem řešení nedohledala.
<!-- obdobný funkční kód //--> <br> <?php $recenze_odkaz1 = "clanky/recenze.php"; $recenze_odkaz2 = "recenze.php"; $recenze_odkaz3 = "../recenze.php"; if(file_exists($recenze_odkaz1)) echo "<a href=" . $recenze_odkaz1 . ">"; elseif(file_exists($recenze_odkaz2)) echo "<a href=" . $recenze_odkaz2 . ">"; elseif(file_exists($recenze_odkaz3)) echo "<a href=" . $recenze_odkaz3 . ">"; ?> Recenze</a> <!-- deklarace funkce na stejném principu //--> <?php function vyber_funkcniho_odkazu($nazev_stranky) { $odkaz1 = "clanky/" . $nazev_stranky . ".php"; $odkaz2 = $nazev_stranky . ".php"; $odkaz3 = "../" . $nazev_stranky . ".php"; // načte všechny možnosti do proměnných if(file_exists($odkaz1)) echo "<a href=" . $odkaz1 . ">"; elseif(file_exists($odkaz2)) echo "<a href=" . $odkaz2 . ">"; elseif(file_exists($odkaz3)) echo "<a href=" . $odkaz3 . ">"; // vybere správnou možnost a použije ji v odkazu } ?> <!-- vyvolání funkce, které nevrátí žádný výsledek //--> <br><?php vyber_funkcniho_odkazu('uvaha'); ?> Úvahy, fejetony</a> Jsem úplný začátečník, takže se omlouvám za fatální chyby a prosím o radu. |
||
ShiraNai7 Profil |
#2 · Zasláno: 15. 7. 2012, 17:41:50
sailen:
Doporucuji spis definovat konstantu smerujici do "rootu" nebo zmenit aktivni adresar. Testovat vsechny mozne varianty neni moc dobry postup. |
||
sailen Profil |
#3 · Zasláno: 15. 7. 2012, 18:13:23
ShiraNai7:
Aha, tak to je pro mne úplně nová varianta. Takže potom by kód měl vypadat nějak takhle? Ono to sice zadá zcela správnou cestu k souboru, ale potom to hlásí "Typ adresy je neznámý nebo není podporován", takže na domácím počítači nevím, jestli to funguje, <br><?php echo "<a href=" . $_SERVER['DOCUMENT_ROOT'] . "/clanky/uvaha.php>" ?> Úvahy, fejetony</a> A jinak jsem zjistila, že můj původní kód je funkční, jenom stačilo dát odkazovaný soubor na své místo (předtím jsem zapomněla). |
||
Alphard Profil |
#4 · Zasláno: 15. 7. 2012, 18:47:41
sailen:
Stačí vést relativní adresy z rootu. Např. /clanky/recenze.php Máte-li doménu example.com, takováhle adresa bude z jakéhokoliv místa směřovat na example.com/clanky/recenze.php
|
||
sailen Profil |
#5 · Zasláno: 15. 7. 2012, 18:59:24
Ok. Děkuji, vyřešeno.
|
||
Časová prodleva: 12 let
|
0