Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tworzenie "automatycznych" linków
Forum PHP.pl > Forum > Przedszkole
Hołka
Cześć! Na początku napiszę, że na PHP nie znam się prawie wcale. Piszę więc tutaj, bo potrzebuję pomocy. smile.gif
Nie wiem, czy dobrze nazwałam temat, ale też nie wiem, jak fachowo nazwać to, czego potrzebuję.

Chodzi mi o to, by stworzyć link, który kierowałby do pliku php o tej samej nazwie, ale w innym katalogu. To znaczy, jeśli mam na przykład plik:
./strona.php, to chcę, żeby po kliknięciu na link skierowało mnie do pliku ./katalog/strona.php.

W jaki sposób mogłabym zrobić coś takiego?
45dominik
Czy chodzi ci o coś takiego?
  1. <p onclick="java script:top.location.href='/katalog/plik.php'">plik.php</p>
?
Hołka
Chodzi mi o to, że mam kilka plików w katalogu głównym, i tyle samo (o takich samych nazwach) plików w dodatkowym katalogu. Chcę, by każdy z plików w katalogu głównym posiadał link do pliku o tej samej nazwie w katalogu dodatkowym.
Wiem, że najprościej byłoby posłużyć się html-em i użyć zwykłego polecenia
Kod
<a href="">

Jednak wtedy w każdym pliku musiałabym tworzyć link z osobną ścieżką - w pliku ./strona1 do pliku ./katalog/strona1, w pliku ./strona2 do pliku ./katalog/strona2 i tak dalej.

Zależy mi więc na kodzie, który cały ten proces by automatyzował. Taki, który "mówiłby": po kliknięciu na link przejdź do tego samego pliku, ale w innym katalogu.
Dzięki temu mogłabym taki kod wstawić do każdego pliku a potem, np. w przypadku zmiany nazwy pliku nie musiałabym grzebać w kodzie strony i wszystkiego poprawiać.

Mam nadzieję, że teraz mniej więcej jasno wyjaśniłam o co mi chodzi. smile.gif
lepmajster
Moze tak:
  1. <?
  2. echo '<a href="/katalog/'.basename($_SERVER['SCRIPT_NAME']).'">link</a>';
  3. ?>


POPRAWILEM, bo zapomnialem dodac basename();
Teraz link pobiera nazwe skryptu i kieruje do tego samego, tyle ze w innym katalogu. O to chodzilo?
Hołka
Tak, dokładnie o to mi chodziło! biggrin.gif
Ale jest jakiś błąd, bo choć taki link kieruje mnie dokładnie tam, gdzie chciałam, to pojawia się komunikat:
Kod
The requested URL was not found on this server.

I nie wiem, co jest nie tak, bo plik przecież jest na serwerze. sad.gif
lepmajster
Cytat(Hołka @ 21.06.2010, 15:25:36 ) *
Tak, dokładnie o to mi chodziło! biggrin.gif
Ale jest jakiś błąd, bo choć taki link kieruje mnie dokładnie tam, gdzie chciałam, to pojawia się komunikat:
Kod
The requested URL was not found on this server.

I nie wiem, co jest nie tak, bo plik przecież jest na serwerze. sad.gif

A wez zrob
  1. echo basename($_SERVER['SCRIPT_NAME']);

Mam nadzieje ze wzieles pod uwage moja poprawke, bo wczesniej napisalem zle.

Sproboj jeszcze tak:
  1. echo '<a href="./katalog/'.basename($_SERVER['SCRIPT_NAME']).'">link</a>';
  2. // albo tak:
  3. echo '<a href="katalog/'.basename($_SERVER['SCRIPT_NAME']).'">link</a>';
  4. // ewentualnie wpisz cala sciezke (z domena) do katalogu i '/' na koncu


Hołka
Kod
  1. <?
  2. echo '<a href="/katalog/'.basename($_SERVER['SCRIPT_NAME']).'">link</a>';
  3. ?>

jest jednak poprawny, tylko trochę źle go wpisałam. Dzięki!

Czy w takim razie, kod o odwrotnym działaniu (czyli taki, który z katalogu dodatkowego kierowałby do katalogu głównego) będzie wyglądał tak:
  1. <?
  2. echo '<a href="../'.basename($_SERVER['SCRIPT_NAME']).'">link</a>';
  3. ?>
lepmajster
TAK smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.