[PHP]odnośnik


(Kosa2) #1

Witam, chciałbym zrobić coś takiego:

mam stronę podzieloną na 3 części: top, element główny i menu po lewej stronie.

Chodzi mi o to żeby po kliknięciu na link w menu po lewej stronie otwierał się w elemencie głównym. Np. Link news /prowadzi do pliku news.php/ i narazie otwiera mi się w nowym oknie/zakładce przeglądarki a ma otworzyć się w konkretnej części strony jaką jest element główny. Nie mam pojęcia jak takie coś zrobić /koniecznie w PHP/.

Dodam że ramka IFRAME nie wchodzi w grę...

Z góry dzięki


(Kutar 0) #2

AJAX - inaczej raczej się nie da jeśli IFRAME odpada


(Kosa2) #3

No AJAX też można obsługiwać przez PHP ale jak miałby wyglądać taki kod??


(Eldorado1972) #4

heja. jak to sie nie da? wszystko się da zrobić :slight_smile: slyszałeś np: o funkcji include(); tam umieszczasz cały kod związany z ustawieniem strony tj. menu, grafika itp. a potem to tylko dołączasz do skryptu np. jak u ciebie news.php :wink:oczywiście na początku strone najlepiej podzielić według jakiegś schematu tabel i jazda :mrgreen:


(Kosa2) #5

już tego próbowałem nic nie daje...


(Eldorado1972) #6

Co ty mówisz? daje, daje Ja robilem takie stronki i chodziło aż miło :mrgreen: Poszukaj dobrze, po eksperymentuj a zadziała. cwiczenie czyni mistrza


(L337 Crew) #7

illidanpl można to na kilka sposobów zrobić .

  1. zastosowanie szablonów (stworzyć własny mechanizm i wysyłać do szablonu dane, następnie je zwracać i wyświetlać ... (zaawansowane, ale BARDZO przydatne).

  2. zabawa switchem - żonglujesz akcją wysłaną metodą GET :slight_smile:

(zamiast mordowanie się z ifami + include etc.)

przykład ?

jak widać wyżej - możesz np. przesłać funkcję odpowiedzialną za wyświetlenie newsów,

albo dołączyć plik ...

Teraz link wyglądać musi mniej więcej tak:

download

news[/code]

Na duży serwis - zapomnij o tym :stuck_out_tongue:

Nie jest to wygodne rozwiązanie, a nadawać się może co najwyżej na małe projekty - strona prywatna itd.


(Kosa2) #8

co to ma być na stronę prywatną...

edit

--

no nawet ciekawie to działa, dzięki ;]


(Kutar 0) #9

Bez przeładowania?? Żeby użyć include trzeba przeładować stronę.

Złączono Posta : 15.02.2007 (Czw) 18:25

No w sumie źle zinterpretowałem pytanie. Nie było mowy, że kod ma być bez przeładowania. W takim razie include to też dobre rozwiązanie;]


(Droop) #10

nie slyszales nigdy o AJAXie ?

wiem ze w tym temacie nie o to chodzi :slight_smile: ale polecam na poczatek SAJAX


(Kutar 0) #11

Człowieku! A co napisałem w pierwszej odpowiedzi do tematu!


(Droop) #12

no tak zwracam honor :slight_smile: ale po co od razu wykrzykniki :frowning:


(Lisek) #13

Niby dlaczego się nie nadaje? DobreProgramy są duże czy małe? Generalnie całość działa mniej więcej w ten sposób.


(L337 Crew) #14

więc wyjaśnię :smiley:

Jeśli to ma być tzw. CMS, to nie wyobrażam sobie dodawania działu poprzez wklepanie case nowydzial itd. :wink:

Stosować się to opłaca (wg. mnie) w podstronach - zamiast tworzyć dziesiątki plików - dodajnewsa.php, skasujnewsa.php, edytujnewsa.php itd. skoro można to zrobić w jednym zaledwie pliku :slight_smile:

Wszystko zależy jak my to sobie stworzymy ... po prostu musi działać nasza wyobraźnia :slight_smile:

Jeżeli jest to używane do żonglerki funkcjami itd. a wartości są stałe, to dlaczego nie :wink:

Tak jak wyżej wymieniłem - wszystko od konstrukcji zależy,

ale ktoś kto nie zna 'szerzej' php i bazy danych, to niepowiedziałbym czy to w 100% trafne rozwiązanie :smiley:

Szybkość działania tego rozwiązania jest jednak spora,

ale dużo wygodniej jest stosować system szablonów...

Oczywiście nie ma mowy tutaj o żadnym gotowym rozwiązaniu, ponieważ ... nie chcemy by nasz serwis ktoś za pomocą kawałka kodu rozebrał na części składowe ...

Poza tym pewnie każdy z Was słyszał o Smarty... czy wygląda to na łatwe do implementacji na www? Czy jest to na tyle "szybkie" rozwiązanie, że nie będzie odczuwalna praca serwera ? (nawet przy małym ruchu - będzie widoczna)

Jak ktoś zobaczy stertę komend, które trzeba wklepać, to tak jakby zupełnie nowy j. programowania ...

Dlaczego klasy templates mają przewagę ?

podam przykład jaki ja stosuję ...

na górze każdego dokumentu:

require_once('class.php');

na dole:

$theme = new template();

$theme->display('templates/default/default');

$theme->replace('{tresc}', ''.$tresc.'');

$theme->return_template();

gdzie wcześniej w zmiennej $tresc przechowuję wszystkie dane, które mają się znaleźć w polu na zawartość strony ...

Tutaj bardzo pomocne jest dopisywanie do zmiennej ...

$tresc .='komunikat';

w szablonie strony po prostu w miejscu na treść wstawiam {tresc} i wszystko zrobione :slight_smile:

Jest to na tyle elastyczne rozwiązanie, że bezproblemowo można tworzyć szablony,

zrobić automatyczne wczytywanie w dane miejsce danych rzeczy ...

Przesyłać funkcje itd.

Jeśli ktoś chce, to mogę odpalić webserva i pokazać co i jak :slight_smile:

Ale to na pw (nie będę czegoś reklamował :slight_smile: )


(Lisek) #15

Oczywiście, że nie ma najmniejszego sensu tworzyć mnóstwa plików jeśli w jednym możesz zawrzeć np wszystkie operacje dotyczące kasowania, dodawania czy edycji danych. W pełni się z tym zgadzam.

Inna sprawa, że tak też można zrobić, zresztą też jest to często praktykowane. Załóżmy, że masz kilka plików dotyczących właśnie edycji, kasowania itd...

Tworzysz plik np: edycja.php w którym includujesz je wszystkie i później w projekcie jeśli potrzebujesz mieć dostęp do tychże opcji, includujesz tylko i wyłącznie plik edycja.php. Bez problemu to będzie działać, widziałem już duże projekty tak właśnie działające i wcale nie są jakoś specjalnie wolne. Stosowanie np Smarty też wcale do najszybszych zabawek nie należą.