Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Struktura katalogowa strony
Forum PHP.pl > Forum > Przedszkole
Ofkorse
Na wstępie, jeśli był już taki temat to nie bijcie mnie, ale nie mogłem go znaleźć... A może po prostu źle szukałem?

Do tej pory wszystkie strony, jakie robiłem (wiele ich nie było, ale cóż)... W każdym razie wszystkie jakie robiłem były oparte na metodzie GET z PHP. Linki do stron wyglądały mniej więcej tak:
http://mojastrona.pl/?task=forum
I tak dalej, i tak dalej. Chyba każdy wie jak to działa - w środku pliku index.php miałem if'y, switch'e i inne takie, które reagowały na odpowiednią wartość zmiennej $_GET["task"] i includowały potrzebną stronkę.
Problem z tym jest jeden - takie adresy trudno jest zapamiętać. Przynajmniej dla osób niezwiązanych z webmasterką. Dlatego ja chciałem zrobić sobię stronę o strukturze katalogowej. Nie wiem czy to się tak nazywa, więc dla przykładu może posłużyć Wikipedia, gdzie adresy wyglądają tak:
http://pl.wikipedia.org/wiki/Strona_główna
http://pl.wikipedia.org/wiki/Nazwa_Jakiegoś_Artykułu
Coś takiego już łatwiej wchodzi w pamięć. I ładniej wygląda.

I tutaj rodzi się moje pytanie - czy jest jakiś łatwy, bezbolesny sposób żeby sobie stronę zrobić w taki sposób?
No bo wiadomo, jeżeli w linku pojawi się ukośnik to przeskakuje do następnego katalogu. W każdym z takich katalogów musiałby być plik index.php z zawartością coś w podobie do tej:
  1. <?php
  2. //Przykład dla strony o adresie <a href="http://mojastrona.pl/rejestracja" target="_blank">http://mojastrona.pl/rejestracja</a>
  3.  
  4. //Pobieramy pierwszą część strony, do momentu wystąpienia znacznika <body>
  5. include("../MainPage1.php");
  6.  
  7. //Tutaj zawartość strony z rejestracją
  8.  
  9. //Pobieramy drugą część strony, od znacznika </body> do samiutkiego końca
  10. include("../MainPage2.php");
  11. ?>

Jeżeli wszystko robiłbym ręcznie, to nie ma problemu, mogę includować powtarzalne części strony (menu, logo itd.). Ale gdy zrobię stronę np. z długimi artykułami, w których każdy miałby być w innym katalogu, to przez skrypt PHP musiałbym generować nowy katalog i strukturę pliku index.php. A to już trochę uciążliwe by było.

Jest na to jakiś łatwiejszy sposób, czy za każdym razem będę musiał includować pliki MainPage1 i MainPage2?
RooFi07
Można zrobić to na bardzo wiele sposobów, mówie tutaj o includowaniu. Ten oczywiście jest najprostrzy, sam często go używam, jakoś mi to nie przeszkadza.

Jeśli chodzi o linkowanie. Może zostać tak jak jest, lecz musisz pamiętać, że w linku będzie np. tyltuł strony. Tzn.: "twojastrona.pl/news.php?page=Nazwa_newsa". Link prowadzący do strony możesz zmienić za pomocą .htaccess używając funkcji Rewrite. Masz wiele generwatrów w sieci, które zrobią to za Ciebie. Pamiętaj o utworzeniu nowych linków dla tych stron.
!*!
Poszukaj o routerach. W dziale PHP (OOP) jest sporo tematów o tym. Na necie też jest sporo klas + URI i jakoś dasz rade sklecić coś co będzie lepsze od tego co wyżej.
Ofkorse
Pierwszą część posta zrozumiałem, tej drugiej nie za bardzo haha.gif Chodzi o to, że ja właśnie nie chcę używać metody GET, bo brzydko wygląda i trudno ją zapamiętać. Ale za to jest najłatwiejsza dla webmastera.

Właśnie chciałem zapytać, czy istnieje jakiś łatwiejszy sposób niż doklejanie za każdym razem do pliku linijki include("MainPage1.php") i include("MainPage2.php"). Bo jak będę chciał zrobić tak jak na wyżej wspomnianej Wikipedii, coś jak artykuły to będę musiał generować plik index.php, co będzie nieco upierdliwe.
Najbardziej by mi się widziała metoda, w której niezależnie od adresu pobiera się jedna i ta sama strona index.php z katalogu głównego, a ja bym sobie adres rozbijał na kawałeczki i wg. niego pobierał odpowiednią zawartość. O ile coś takiego jest w ogóle możliwe.
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.