![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 6 Dołączył: 25.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jak mam rozwiązać dany problem, jest plik index.php i pokojegoscinne.php (dodatkowo jeszcze apartamenty.php ale on jest pusty, tylko w kodzie zawarty by były 2 linki)
A więc jest taka struktura: Menu - 1 - linki: -Pokoje goscinne -Apartamenty Po kliknieciu w Pokoje goscinne otwiera sie kolejne menu i w nim linki: Menu - 2 - Podmenu: -Anna -Milena Są to linki po których kliknięciu oczekuję wyświetlenie konkretnych danych w ajaxie a mianowicie tych z pętli switch:
Cały kod, najlepiej gdyby to ktoś przetestował bo tak to ciężko to opisać, póki co działa to tak że pobiera całą stronę zamiast tylko tych "ech" czyli zamiast echo 'Anna' wszystko jest wyświetlane. index.php
pokojegoscinne.php
Komentarzy nie usuwałem, może sie na coś przydają. Ten post edytował wpaski 19.10.2012, 23:03:39 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
zdecydowanie tak się tego nie robi, zobacz jak to inni robią:
http://www.1stwebdesigner.com/css/38-jquer...menu-solutions/ Cytat Cały kod, najlepiej gdyby to ktoś przetestował bo tak to ciężko to opisać, póki co działa to tak że pobiera całą stronę zamiast tylko tych "ech" czyli zamiast echo 'Anna' wszystko jest wyświetlane. Jest to normalne zachowanie, w pliku pokojegoscinne.php przekazujesz dane i jquery wszystko przekazuje dalej to Twoje zadanie by przekazywać właściwe dane. Jeżeli chcesz by tylko echa były zwracane usuń resztę kodu, albo zrób instrukcję warunkową tak by w przypadku A wyświetlało resztę kodu a w przypadku B tylko kod zwracany przez switch. Ewentualnie możesz użyć: http://api.jquery.com/load/#loading-page-fragments
to nie jest poprawny kod: http://www.w3schools.com/tags/tag_ul.asp
Nie wolno tak robić, taki kod jest podatny na ataki hakerskie typu Local File Inclusion, musisz się upewniać że ładujesz tylko i wyłącznie właściwe pliki. Ktoś może podmienić zmienną $_GET['strona'] tak by by załadować plik którego nie chciał byś załadować. -------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 6 Dołączył: 25.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za odpowiedź, nie zabezpieczałem tego kodu bo skupiałem się tylko na tym problemie ale wiem - powinienem to zrobić gdy coś tu umieszczam, co do linku który podałeś to z tego co widzę wszystko jest w samym ajaxie(przynajmniej ja nie widzę ale może źle patrzę żeby było coś podobnego do tego co tutaj), nie ma tam takiego czegos jak tu w sensie, że pierwsze menu ma być ładowane przez include a dopiero drugie przez ajax. Jeśli chodzi o
Cytat zrób instrukcję warunkową tak by w przypadku A wyświetlało resztę kodu a w przypadku B tylko kod zwracany przez switch. to nie wiem jak to ugryźć, bo parametr strona=pokojegoscinne zawsze będzie w linku takze jeśli sprawdze:
to nic nie da bo $_GET['strona'] będzie zawsze istniał drugie rozwiązanie z tym wycinkiem wydaje mi się lepsze, tylko nie wiem jak to zrobić, próbowałem tak: Kod $(".content").html(html).find(".imie"); a w pliku pokojegoscinne.php
jednak nie działa |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
1. ajax to nie to samo co JavaScript
2. napisałem Ci że to złe podejście. całe menu zrób w JS bez pomocy PHP ukrywając i zakrywając pewne elementy menu linki w menu mają natomiast prowadzić do osobnych podstron zamiast ładowania tego przez AJAX mógłbyś też zrobić zamiast ładowania osobnych podstron ładowanie w AJAX, ale to spowoduje problemy z optymalizacją strony pod kątem wyszukiwarek -------------------- Good luck and happy PHP'ing
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 05:52 |