Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] System menu
Forum PHP.pl > Forum > Przedszkole
zurek
Witam
Otóż od jakiegoś czasu zastanawiam się jak zrobić dobry system menu. Chodzi mi o coś podobnego jak na wortalu PHP. Może nie tyle mam problem z napisaniem tego, po prostu nie wiem jak powinna wyglądać struktura takiego menu, jakie dane przekazywać w adresach, co zrobić żeby to działało jak najbardziej efektywnie. Poza tym mam jeszcze jedno pytanie. Jak dotąd adresy na mojej stronie wyglądały mniej więcej tak:
Kod
http://strona.pl/dzial-5.html
lub
Kod
http://strona.pl/tutorial-74.html
Co zrobić, żeby zamiast słowa kluczowego i identyfikatora wyświetlał się tytuł danego artykułu lub nazwa działu?

vermis
Po pierwsze musisz użyć mod_rewrite i przekierować wszystkie żądania do index.php.
W index.php sprawdzasz co masz w zmiennej $_SERVER['REQUEST_URI'] i dopasowujesz do jakiegoś wzorca za pomocą wyrażeń regularnych lub po prostu tworzysz tablicę mapowań adresów na odpowiednią treść.
Luneth
Co zrobić? Na jak najmniej pętlach, unikać rekurencji itp - wtedy jest najbardziej efektywnie. Jak zrobić? Spójrz do źródła html strony w przeglądarce i tam zauważysz co jest generowane pętlami, a co nie winksmiley.jpg
Linki - mod_rewrite (.htaccess) i $_SERVER['PATH_INFO'] lub (co bardziej wolę) zrobić jednego GETa np: ?m=news/tytul_newsa.

@UP - kiedy zaczynałem to nie było jeszcze żadnej odp, wyprzedziłeś mnie biggrin.gif
Ramzaa
mod_rewrite i jazda.

btw. al się najebałęm smile.gif
zurek
Edit: Chciałem zamienić index.php w adresie na coś bardziej przyjaznego. Niestety ForceType doprowadza mnie do szału. Robię wszystko jak należy: do .htaccess dopisuję:
Kod
<Files indexp>
ForceType application/x-httpd-php
</Files>

zmieniam index.php na samo index i nic. Nie działa.

Próbowałem też:
Kod
AddHandler server-parsed .php
<Files index>
SetHandler application/x-httpd-php
</Files>
AddHandler application/x-httpd-php .php

i to samo.

Czy to może być wina boo.pl? Czy ktoś przypadkiem nie wie czy mają tam odpowiednie ustawienia dyrektywy AllowOverride?

Luneth
Weź ustaw w htaccess jakąś byle jaką treść, żeby na 100% wywaliło błąd, jakiś losowy ciąg znaków. Jeśli wyskoczy Internal Server Error no to znaczy, że mod rewrite działa, jeśli strona zachowa się normalnie - nie działa.
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.