| 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: 13 let
|
|||
0