Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przyjazne URLe - dynamiczne sterowanie
Forum PHP.pl > Forum > PHP
Michael2318
Witam!

Próbuję wplątać w swój skrypt dynamiczne tworzenie przyjaznych linków, tak aby nie trzeba było z każdym URL'em latać do .htaccess. Znalazłem fajny artykuł o tym od moderatora, który tutaj urzęduje - http://nospor.pl/ladne-urle.html
Tam jednak wszystko opiera się na pliku index.php. Ja w swoim skrypcie mam X takich różnych plików, w których chciałbym obsługiwać przyjazne URLe.
Wpadłem na pomysł żeby zrobić sobie jeden plik, który będzie dowodził wszystkimi URLami - odbierał to co w pasku adresu i odtwarzał na tej podstawie odpowiedni plik.
Zastanawiam się tylko jak przekazywać do skryptu o który plik konkretnie mi chodzi? Myślałem nad tym, żeby w tym urlu: jakismodul/jakasakcja/jakisparametr1 w miejsce pogrubione podawać jakąś nazwę/ID które będzie wskazywało na plik, w którym odgrywać się będzie reszta akcji. Przykładowo stworzenie takiej tablicy:

  1. 'login' => 'logowanie.php',
  2. 'index' => 'main_page.php',
  3. 'reg' => 'register.php');


I teraz jeśli w tym URLu zostanie odnaleziona któraś w fraz umieszczonych w tablicy to dany plik zostanie zaincludowany, czyli:

  1. <?php
  2.  
  3. $myPages = array(
  4. 'login' => 'logowanie.php',
  5. 'index' => 'main_page.php',
  6. 'reg' => 'register.php');
  7.  
  8. // tutaj kod z artykułu odpowiadający za podzielenie tego całego url'a
  9.  
  10. if ( in_array($_GET['module'], $myPages) ) // sprawdzamy czy w tablicy z naszymi stronami istnieje taki identyfikator jaki podał user
  11. {
  12. include('logowanie.php'); // tu wpisałem ręcznie żeby nie tracić czasu, oczywiście trzeba by przypisać wybrany element z tablicy
  13. }
  14. else
  15. {
  16. // przekierowanie na jakąś tam stronę 404
  17. }
  18.  
  19. ?>


I tutaj bym prosił o sugestie, czy dobrze myślę? Takie rozwiązanie będzie OK?
nospor
Cytat
I teraz jeśli w tym URLu zostanie odnaleziona któraś w fraz umieszczonych w tablicy to dany plik zostanie zaincludowany, czyli:

Czyli na dobrą sprawę chcesz zrobic to co jest u mnie: jeden glowny plik, ktory kieruje zaladowaniem innych. U mnie ten plik sie nazywa wlasnie index.php
Michael2318
@nospor właśnie idealnie dla mnie by było, gdybym nie musiał robić wszyzstkiego w jednym pliku tylko odbierać zwyczajnie zmienne $_GET w pliku do którego odnosi się dany link, ale wyczytałem w komentarzach pod artykułem, że skrypt ma prawo bytu jeśli wszystko znajduje się w jednym głównym pliku (u Ciebie index.php). I właśnie próbuję się do tego dostosować, nie wiem tylko czy dobrze myślę z tą tablicą przechowującą ID danego pliku i z tym include?
nospor
Musi być jeden glowny plik, ktory rozkoduje adres. Jak chcesz miec po staremu, to pozostaje ci wszystko pisać w .htaccess

Cytat
I właśnie próbuję się do tego dostosować, nie wiem tylko czy dobrze myślę z tą tablicą przechowującą ID danego pliku i z tym include?
No może tak być
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.