Instrukcja korzystania z jSQL Injection, wielofunkcyjnego narzędzia do wyszukiwania i wykorzystywania zastrzyków SQL w Kali Linux. Wielopoziomowe menu w PHP i MySQL Inurl php własne menu id gry

Żadna strona internetowa nie jest kompletna bez nawigacji lub, jak to nazywają, „menu witryny”. Zatem menu witryny może być jednopoziomowe lub wielopoziomowe w formie drzewa. Jeśli nie ma szczególnych trudności we wdrożeniu menu jednopoziomowego, wówczas tworząc menu wielopoziomowe należy dokładnie przemyśleć.

Najważniejszą rzeczą w tym zadaniu jest zaprojektowanie bazy danych dla naszego wielopoziomowego menu. Utwórzmy tabelę Kategorie z trzema polami ID, tytuł, rodzic Gdzie:

  • ID- identyfikator
  • Tytuł- Nazwa menu
  • Rodzic- Domyślny rodzic kategorii 0

Pole odpowiada za rozgałęzienie menu Rodzic Jeśli Rodzic = 0, wówczas ta kategoria jest kategorią nadrzędną. Aby dodać potomków do kategorii nadrzędnej, należy określić w polu nadrzędnym ID właściwym rodzicem. Na przykład:

Tabele z kategoriami

Jak widać z tabeli, kategoria nadrzędna Samochody jest dwóch potomków - to jest Mazdy I Hondy powiązane według dziedzin Rodzic. I kategoria Motocykle jest dwóch potomków Kawasaki I Harley. Jednocześnie kategoria Łodzie nie ma potomków. Mam nadzieję, że rozumiesz, jak łączyć kategorie.

Następnie przechodzimy od słów do praktyki. Utwórzmy tabelę Kategorie.

UTWÓRZ TABELĘ JEŚLI NIE ISTNIEJE `kategorie` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `parent` int(10) unsigned NOT NULL, KLUCZ PODSTAWOWY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ; -- -- Zrzut danych z tabeli `kategorie` -- WSTAW DO `kategorii` (`id`, `title`, `parent`) WARTOŚCI (1, "Samochody", 0), (2, "Motocykle", 0 ) , (3, „Mazda”, 1), (4, „Honda”, 1), (5, „Kawasaki”, 2), (6, „Harley”, 2), (7, „Mazda 3”, 3 ), (8, „Mazda 6”, 3), (9, „Sedan”, 7), (10, „Hatchback”, 7), (11, „Łodzie”, 0), (12, „Liftback” , 8), (13, „Crossover”, 8), (14, „biały”, 13), (15, „czerwony”, 13), (16, „czarny”, 13), (17, „zielony” , 13), (18, „Mazda CX”, 3), (19, „Mazda MX”, 3);

Algorytm pracy składa się z następujących elementów:

Utwórz połączenie z bazą danych

zapytanie("USTAW NAZWY "utf8""); /* * Jest to „oficjalny” sposób zorientowany obiektowo, * jednak $connect_error nie działał aż do wersji PHP 5.2.9 i 5.3.0. */ if ($mysqli->connect_error) ( die("Błąd połączenia (" . $mysqli->connect_errno. ") " . $mysqli->connect_error); ) /* * Jeśli chcesz mieć pewność kompatybilności z wersjami przed wersją 5.2 .9, * lepiej jest użyć tego kodu */ if (mysqli_connect_error()) ( die("Błąd połączenia (" . mysqli_connect_errno(). ") " . mysqli_connect_error()); )

Napisanie funkcji pobierającej dane z tabeli Kategorie

//Pobierz tablicę naszego menu z bazy danych jako funkcję tablicową getCat($mysqli)( $sql = "WYBIERZ * Z `kategorii`"; $res = $mysqli->query($sql); //Utwórz tablica, gdzie kluczem tablicy jest identyfikator menu $cat = array(); while($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $ kot; )

Otrzymujemy taką tablicę, gdzie kluczem tablicy jest identyfikator kategorii.

Funkcja konstrukcji z litego drewna firmy Tommy Lacroix

//Funkcja do budowania drzewa z tablicy Tommy'ego Lacroix funkcja getTree($dataset) ( $tree = array(); foreach ($dataset as $id => &$node) ( //Jeśli nie ma żadnych załączników if ( !$node[" parent"])( $tree[$id] = &$node; )else( //Jeśli istnieją dzieci, wykonaj iterację po tablicy $dataset[$node["parent"]]["childs "][$id] = &$ węzeł; ) ) zwraca $drzewo; )

Otrzymujemy tablicę w postaci drzewa

Cały skrypt

zapytanie("USTAW NAZWY "utf8""); /* * Jest to „oficjalny” sposób zorientowany obiektowo, * jednak $connect_error nie działał aż do wersji PHP 5.2.9 i 5.3.0. */ if ($mysqli->connect_error) ( die("Błąd połączenia (" . $mysqli->connect_errno. ") " . $mysqli->connect_error); ) /* * Jeśli chcesz mieć pewność kompatybilności z wersjami przed wersją 5.2 .9, * lepiej jest użyć tego kodu */ if (mysqli_connect_error()) ( die("Błąd połączenia (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); ) //Pobierz tablicę naszego menu z bazy danych jako funkcja tablicowa getCat($mysqli)( $sql = "WYBIERZ * Z `kategorii`"; $res = $mysqli->query($sql); //Utwórz tablicę, w której klucz tablicy to identyfikator menu $cat = array(); while ($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $cat; ) //Funkcja dla budowanie drzewa z tablicy z funkcji Tommy'ego Lacroix getTree($dataset) ( $tree = array(); foreach ($dataset as $id => &$node) ( //Jeśli nie ma żadnych załączników if (!$node[ "parent"])( $tree[$id] = &$node; )else( //Jeśli istnieją potomki, przejdź przez tablicę $dataset[$node["parent"]]["childs"][$ id] = &$node; ) ) return $tree; ) //Pobierz przygotowaną tablicę z danymi $cat = getCat($mysqli); //Utwórz menu w kształcie drzewa $tree = getTree($cat); //Szablon wyświetlania menu w postaci funkcji drzewiastej tplMenu($kategoria)( $menu = "
  • ". $kategoria["tytuł"].""; if(isset($kategoria["dzieci"]))( $menu .= "
      ". showCat($kategoria["dzieci"]) ."
    "; ) $menu .= "
  • "; return $menu; ) /** * Przeczytaj nasz szablon rekurencyjnie **/ funkcja showCat($data)( $string = ""; foreach($data as $item)( $string .= tplMenu($item); ) return $string; ) //Pobierz znaczniki HTML $cat_menu = showCat($tree); //Wyświetl echo "
      „.$kot_menu.”
    "; ?>

    Wynik pracy

    Wielopoziomowe menu w PHP + MySQL dla panelu administracyjnego

    Jeśli chcesz korzystać z tego menu w panelu administracyjnym swojej witryny, musisz przepisać kilka funkcji tplMenu(), pokażKota().

    „.$kategoria[„tytuł”].”"; )else( $menu = " "; ) if(isset($kategoria["dzieci"]))( $i = 1; for($j = 0; $j< $i; $j++){ $str .= "→"; } $i++; $menu .= showCat($category["childs"], $str); } return $menu; } /** * Рекурсивно считываем наш шаблон **/ function showCat($data, $str){ $string = ""; $str = $str; foreach($data as $item){ $string .= tplMenu($item, $str); } return $string; } //Получаем HTML разметку $cat_menu = showCat($tree, ""); //Выводим на экран echo ""; ?>

    Wynik pracy

    Wybierz samochody → Mazda → → Mazda 3 → → → Sedan → → → Hatchback → → Mazda 6 → → → Liftback → → → Crossover → → → → Biały → → → → Czerwony → → → → Czarny → → → → Zielony → → Mazda CX → → Mazda MX → Motocykle Honda → Kawasaki → Łodzie Harley

    Uruchom pobrany plik poprzez podwójne kliknięcie (musisz posiadać maszynę wirtualną).

    3. Anonimowość podczas sprawdzania witryny pod kątem wstrzyknięcia SQL

    Konfigurowanie Tora i Privoxy w Kali Linux

    [Sekcja w przygotowaniu]

    Konfigurowanie Tora i Privoxy w systemie Windows

    [Sekcja w przygotowaniu]

    Ustawienia proxy we wstrzykiwaniu jSQL

    [Sekcja w przygotowaniu]

    4. Sprawdzenie witryny pod kątem iniekcji SQL za pomocą jSQL Injection

    Praca z programem jest niezwykle prosta. Wystarczy wpisać adres strony internetowej i nacisnąć ENTER.

    Poniższy zrzut ekranu pokazuje, że witryna jest podatna na trzy rodzaje zastrzyków SQL (informacja o nich jest wskazana w prawym dolnym rogu). Klikając na nazwy zastrzyków możesz zmienić zastosowaną metodę:

    Wyświetlono nam już także istniejące bazy danych.

    Możesz wyświetlić zawartość każdej tabeli:

    Zazwyczaj najciekawszą rzeczą w tabelach są poświadczenia administratora.

    Jeśli będziesz mieć szczęście i odnajdziesz dane administratora, to jest za wcześnie na radość. Musisz jeszcze znaleźć panel administracyjny, w którym możesz wprowadzić te dane.

    5. Wyszukaj panele administracyjne za pomocą jSQL Injection

    W tym celu przejdź do kolejnej zakładki. Tutaj wita nas lista możliwych adresów. Możesz wybrać jedną lub więcej stron do sprawdzenia:

    Wygoda polega na tym, że nie trzeba korzystać z innych programów.

    Niestety, nie ma zbyt wielu nieostrożnych programistów, którzy przechowują hasła w postaci zwykłego tekstu. Dość często w wierszu hasła widzimy coś takiego

    8743b52063cd84097a65d1633f5c74f5

    To jest skrót. Możesz go odszyfrować za pomocą brutalnej siły. I... jSQL Injection ma wbudowaną brute-forcer.

    6. Mieszanie brutalnej siły przy użyciu wtrysku jSQL

    Niewątpliwą wygodą jest to, że nie trzeba szukać innych programów. Istnieje wsparcie dla wielu najpopularniejszych skrótów.

    To nie jest najlepsza opcja. Aby zostać guru w dekodowaniu skrótów, zaleca się książkę „” w języku rosyjskim.

    Ale oczywiście, gdy nie ma pod ręką innego programu lub nie ma czasu na naukę, bardzo przydatny będzie jSQL Injection z wbudowaną funkcją brute force.

    Istnieją ustawienia: możesz ustawić, które znaki mają być zawarte w haśle, zakres długości hasła.

    7. Operacje na plikach po wykryciu zastrzyków SQL

    Oprócz operacji na bazach danych - ich odczytywania i modyfikowania, w przypadku wykrycia zastrzyków SQL, można wykonać następujące operacje na plikach:

    • czytanie plików na serwerze
    • wgranie nowych plików na serwer
    • przesyłanie powłok na serwer

    A wszystko to jest zaimplementowane w jSQL Injection!

    Istnieją ograniczenia - serwer SQL musi mieć uprawnienia do plików. Inteligentni administratorzy systemu wyłączyli je i nie będą mogli uzyskać dostępu do systemu plików.

    Obecność uprawnień do plików można dość łatwo sprawdzić. Przejdź do jednej z zakładek (odczyt plików, utworzenie powłoki, wgranie nowego pliku) i spróbuj wykonać jedną z określonych operacji.

    Kolejna bardzo ważna uwaga - musimy znać dokładną bezwzględną ścieżkę do pliku, z którym będziemy pracować - w przeciwnym razie nic nie będzie działać.

    Spójrz na poniższy zrzut ekranu:

    Na każdą próbę operacji na pliku otrzymujemy następującą odpowiedź: Brak uprawnień FILE(brak uprawnień do plików). I nic tu nie da się zrobić.

    Jeśli zamiast tego pojawi się inny błąd:

    Problem z zapisem do [nazwa_katalogu]

    Oznacza to, że niepoprawnie podałeś ścieżkę bezwzględną, w której chcesz zapisać plik.

    Aby odgadnąć ścieżkę bezwzględną, musisz przynajmniej znać system operacyjny, na którym działa serwer. Aby to zrobić, przejdź do zakładki Sieć.

    Taki zapis (linia Win64) daje nam podstawy przypuszczać, że mamy do czynienia z systemem operacyjnym Windows:

    Keep-Alive: limit czasu=5, max=99 Serwer: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Połączenie: Metoda Keep-Alive: HTTP/1.1 200 OK Długość zawartości: 353 Data: piątek, 11 grudnia 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Typ zawartości: tekst/html; zestaw znaków=UTF-8

    Tutaj mamy trochę Uniksa (*BSD, Linux):

    Kodowanie transferu: fragmentaryczne Data: piątek, 11 grudnia 2015 r. 11:57:02 GMT Metoda: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Połączenie: keep-alive Typ zawartości: tekst/html X- Obsługiwane przez: PHP/5.3.29 Serwer: Apache/2.2.31 (Unix)

    A tutaj mamy CentOS:

    Metoda: HTTP/1.1 200 OK Wygasa: czwartek, 19 listopada 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; ścieżka=/ Połączenie: keep-alive X-Cache-Lookup: MISS z t1.hoster.ru:6666 Serwer: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS z t1.hoster.ru Kontrola pamięci podręcznej: brak przechowywania, brak pamięci podręcznej, konieczna ponowna weryfikacja, sprawdzanie końcowe = 0, sprawdzanie wstępne = 0 Pragma: brak pamięci podręcznej Data: piątek, 11 grudnia 2015 12:08:54 GMT Kodowanie transferu: fragmentaryczne Typ zawartości: tekst/html; zestaw znaków=WINDOWS-1251

    W systemie Windows typowym folderem witryn jest C:\Serwer\dane\htdocs\. Ale tak naprawdę, jeśli ktoś „pomyślał” o stworzeniu serwera w systemie Windows, to najprawdopodobniej ta osoba nie słyszała nic o przywilejach. Dlatego powinieneś rozpocząć próbę bezpośrednio z katalogu C:/Windows/:

    Jak widać, wszystko poszło dobrze za pierwszym razem.

    Ale same powłoki jSQL Injection budzą moje wątpliwości. Jeśli masz uprawnienia do plików, możesz łatwo przesłać coś za pomocą interfejsu internetowego.

    8. Zbiorcze sprawdzanie witryn pod kątem zastrzyków SQL

    I nawet ta funkcja jest dostępna w jSQL Injection. Wszystko jest niezwykle proste - pobierz listę witryn (możesz zaimportować z pliku), wybierz te, które chcesz sprawdzić i kliknij odpowiedni przycisk, aby rozpocząć operację.

    Wniosek z wtrysku jSQL

    jSQL Injection to dobre, potężne narzędzie do wyszukiwania, a następnie wykorzystania zastrzyków SQL znalezionych na stronach internetowych. Jego niewątpliwe zalety: łatwość obsługi, wbudowane funkcje z tym związane. jSQL Injection może być najlepszym przyjacielem początkującego przy analizie stron internetowych.

    Wśród niedociągnięć zwróciłbym uwagę na brak możliwości edycji baz danych (przynajmniej ja nie znalazłem takiej funkcjonalności). Podobnie jak w przypadku wszystkich narzędzi GUI, jedną z wad tego programu można przypisać niemożności użycia go w skryptach. Niemniej jednak w tym programie możliwa jest również pewna automatyzacja - dzięki wbudowanej funkcji masowego sprawdzania witryny.

    ustalona próbka i certyfikat. Specjalna zniżka na dowolne wydziały i kursy!

    W przedostatnim artykule na blogu pisałem o ciekawych innowacjach najnowszej wersji WordPressa – specjalnym mechanizmie do tworzenia i zarządzania plikami . Teraz dla zwykłych użytkowników tworzenie menu o różnym stopniu złożoności stało się znacznie wygodniejsze i łatwiejsze, które mogą składać się nie tylko ze stron lub kategorii blogów, ale także zawierać linki do dowolnego adresu URL. Do wyświetlenia menu w szablonie służy specjalna funkcja wp_nav_menu – opowiem Ci o tym dzisiaj.

    Jeśli w panelu administracyjnym WordPressa nie ma sekcji menu, możesz ją aktywować, dodając specjalny kod do plikufunctions.php

    Tutaj najpierw znajduje się nazwa menu, które stworzyliśmy. Jest to ogólne użycie funkcji bez widżetów; tam będziesz musiał pracować z nimi nieco inaczej. Jednakże funkcja wp_nav_menu może zostać wyprowadzona bez argumentów, w wyniku czego zostaną „przeglądane” różne sytuacje - najpierw dopasowanie według nazwy menu, jeśli określono dla niej przynajmniej jedną pozycję menu, w przeciwnym razie menu nie będzie puste zostanie po prostu wyświetlony itp. . Ale znowu radzę po prostu użyć powyższego kodu i nie zastanawiać się, co powinna wyświetlić funkcja bez argumentów. Jego składnia jest następująca:

    Stosowane są tutaj następujące parametry:

    $menu— wybrany identyfikator menu — identyfikator, ślimak lub nazwa menu.

    $kontener- Przy tym ustawieniu menu UL jest domyślnie „opakowane” w kontenerze DIV.

    $kontener_klasa— wskazuje klasę kontenera, domyślnie jego wartość to menu-(menu slug)-container, czyli w naszym przypadku na przykład będzie to klasa menu-first-container.

    $identyfikator_kontenera— możesz dodać do kontenera identyfikator, który nie jest domyślnie określony.

    $menu_klasa— klasa dla elementu menu UL, jej wartością jest menu.

    $id_menu— Identyfikator elementu ul, domyślnie menu-(slug)

    $echo— jeśli nie chcesz wyświetlać menu, ale zwrócić wartość funkcji, użyj dla tego ustawienia wartości 0.

    $fallback_cb— jeżeli menu nie istnieje, wywoływana jest funkcja wp_page_menu.

    $przed— ustawia tekst wyświetlany przed łączem A.

    $link_przed— wyświetla frazę przed tekstem łącza, która nie jest określona.

    $link_po— wyświetlany po tekście linku, również pusty.

    $głębokość— ustawia liczbę poziomów hierarchii, na których będzie wyświetlane menu; domyślna wartość 0 wyświetla całe menu.

    $walker- jakiś niezrozumiały, niestandardowy „obiekt chodzika”, prawdopodobnie bardziej potrzebny zaawansowanym programistom.

    $lokalizacja_motywu— lokalizacja motywu, w której będzie używane menu, musi zostać aktywowana za pomocą funkcji Register_nav_menu(), aby użytkownik mógł ją wybrać. Najwyraźniej jakieś nie do końca jasne ustawienie podczas pracy z widżetami.

    Przykłady wykorzystania funkcji wp_nav_menu

    Najprostszy kod podany w kodzie to:

    Usuwanie kontenera DIV z menu

    "")); ?>

    W zasadzie nie ma nic skomplikowanego w tworzeniu i zarządzaniu menu WordPress 3.0. Twórcy znacznie uprościli procedurę pracy i rozszerzyli możliwości tego elementu nawigacyjnego. Rozwiązanie często wykorzystywane jest przy różnorodnych zadaniach szablonowych np. przy tworzeniu wersji na urządzenia mobilne i desktopowe. Nieco później dodam jeszcze kilka fragmentów na ten temat.

    P.S. Strażnik. Ciekawy i przydatny blog dla webmasterów o SEO, na którym znajdziesz odpowiedzi na swoje pytania dotyczące SEO.
    Firma Aweb od dawna bardzo dobrze radzi sobie w dziedzinie promocji, optymalizacji i promocji stron internetowych w wyszukiwarkach w Internecie.

    Ponieważ eksponuje zawartość modułu menu.php. Poniżej zaprezentujemy własne opracowanie menu w języku PHP, które zostało napisane od podstaw w notatniku.

    Ten kod będzie szczególnie przydatny w przypadku dynamicznych witryn, które mają niestandardowe silniki. Zaproponuję dwie opcje kodu, które różnią się niewielkimi różnicami (różnice zostaną wyjaśnione później).

    Na początek podam przybliżoną strukturę witryny, dla której odpowiednie jest to menu. Struktura witryny powinna wyglądać następująco (widok klasyczny):

    /index.html /razdel_1/ /razdel_1/artykuły_1.html /razdel_1/artykuły_2.html ... /razdel_2/ /razdel_2/artykuły_1.html /razdel_2/artykuły_2.html ... ... ... /razdel_N/artykuły_2 .html

    Witryna może również zawierać podsekcje dla sekcji:

    /razdel_1/podzaderl_1/ /razdel_1/podzaderl_1/articles_1.html /razdel_1/podzaderl_1/articles_2.html ... /razdel_1/podzaderl_2/articles_1.html /razdel_1/podzaderl_2/articles_2.html

    Ta struktura będzie działać również w naszym menu, z niewielkimi różnicami.

    Sugeruję utworzenie osobnego pliku dla menu w php. Na przykład menu.php byłoby świetną nazwą dla takiego pliku. Aby zaimplementować menu, udostępniono również styl menu w CSS, który natychmiast czyni go mniej lub bardziej pięknym. Oczywiście ten styl jest podany wyłącznie w celach informacyjnych, ponieważ projekty witryn są bardzo różne.

    Kod do stylizacji menu w CSS:

    .menu ( wysokość:42px; dopełnienie:0 0 0 16px; tło:url(images/spacer.png) powtórz; ) .menu li ( display:block; float:left; ) .menu li.active ( tło: #000011 ; ) .menu a ( kolor:#FFF; wyświetlacz: blok; wysokość linii: 42 piksele; dekoracja tekstu: brak; dopełnienie: 0 14 pikseli; ) .menu a: najechanie ( tło: url (images/spacer.png) powtórz ;)

    Przyjrzyjmy się teraz pierwszej opcji implementacji menu w PHP, która jest nieco uproszczona.

    Pierwsza wersja kodu menu w PHP

    \n"; dla ($i=0;$i ": "
  • "; Echo " ".$array_menu[$i]["nazwa"]."
  • \n"; ) echo ""; ?>

    Menu można podzielić na dwie części. Pierwsza zawiera tablicę informacyjną $array_menu, która zawiera nazwy naszych sekcji wraz z linkami do sekcji. Istnieje możliwość wprowadzenia tych danych do bazy danych mySQL, ale nie ma to szczególnego sensu, ponieważ próbka jest bardzo mała, więc nie wpłynie to na szybkość pracy.

    Druga część zawiera wyjście menu za pomocą pętli for. Cykl porównuje adres witryny z adresem z tablicy $array_menu. Jeśli jest dopasowanie, wyświetlamy kolejną sekcję menu ze specjalną aktywną klasą:

  • , inaczej po prostu
  • . Dzięki temu możemy wyróżnić kolorem część menu, w której znajduje się użytkownik. Moim zdaniem jest to niezbędna rzecz w przypadku każdej witryny, aby użytkownik mógł zrozumieć, w której sekcji się znajduje.

    Kolejność w tablicy zostanie zachowana po wyświetleniu menu na stronie. Oznacza to, że tablicę należy wypełnić w kolejności, w jakiej menu powinno być wyświetlane.

    Notatka:
    Jeżeli adresy URL (adresy) nagłówków sekcji wyglądają następująco:
    /Sekcja 1
    lub tak
    /razdel_1/nazvanie_razdela.html
    następnie musisz napisać dokładne dopasowanie w array_menu:
    $array_menu[$i]["url"]="/razdel_1"
    lub w drugim przypadku:
    $array_menu[$i]["url"]="/razdel_1/nazvanie_razdela.html";

    Jak działa pierwsza opcja menu?
    Podświetla menu tylko wtedy, gdy znajdujesz się pod adresem nagłówka sekcji. Przykładowo jeśli adres strony to /razdel_1/articles_1.html to menu nie zostanie w żaden sposób podświetlone.

    Druga wersja kodu jest zmodyfikowaną wersją pierwszej i zapewnia możliwość podświetlania menu nawet w artykułach, które znajdują się w sekcjach.

    Druga wersja kodu menu w PHP

    "; dla ($i=0;$i ": "
  • "; echo "".$array_menu[$i]["tytuł"]."
  • "; ) else ( echo ($URL) == ($array_menu[$i]["url"]) ? "
  • ": "
  • "; echo "".$array_menu[$i]["tytuł"]."
  • "; ) ) Echo ""; ?>

    Jeśli interesuje Cię odpowiedź na pytanie jak stworzyć menu strony internetowej to dobrze trafiłeś.

    Przyjrzymy się stworzeniu dynamicznego menu w PHP, napisanego specjalnie dla manekinów programowania, a także dla tych, którzy są jeszcze w zbiorniku.

    Lekcja 3. Tworzenie dynamicznego menu w php dla strony internetowej - dla opornych

    Stwórzmy przyszły układ naszej strony internetowej. Aby to zrobić, narysujemy w Photoshopie super piękną stronę internetową i pokroimy ją na kawałki. Wyobraźmy sobie, że nagłówek, logo, menu i stopka nie są napisane słowami, jak w tym przykładzie, ale są to elegancko i kolorowo zaprojektowane elementy witryny.

    Stwórzmy na przykład trzy strony i nazwijmy je Sekcja 1, Sekcja 2, Sekcja 3

    Ten tekst będzie inny dla różnych stron, ale nie będziemy się tym przejmować i pozostawimy go bez zmian na wszystkich stronach.

    Zacznijmy od tworzenia strony internetowej w języku PHP.

    1. Wybierz bloki nagłówka, logo, menu, stopki do osobnych plików z rozszerzeniem php lub html

    nagłówek.html

    logo.html

    menu.html

    stopka.html

    Dodajmy plik z tym tekstem, abyśmy mogli go zobaczyć na wszystkich stronach. Zadzwońmy do niego tekst.html

    Notatka. Od tej chwili dalsze zapisy będę prowadzić bezpośrednio w teczce. tekst.html

    2. Stwórzmy szablon naszej strony internetowej w języku PHP.

    Aby to zrobić, zrobimy prostą rzecz - zapiszemy prawdziwy plik, ale z rozszerzeniem php i usuniemy całą zawartość tekstową. Może nie jest to profesjonalne, ale zrozumiałe, ale później wszystko skomplikujemy. Teraz najważniejsze jest zrozumienie zasady układu.

    3. Teraz nie potrzebujemy już pliku template.html.

    Dzięki niemu mamy wyobrażenie o tym jak będzie wyglądać nasza strona.

    4. Nasz szablon to plik template.php

    Teraz wstawimy do niego wszystkie elementy witryny za pomocą polecenia include.

    5. Stwórzmy trzy strony, tak jak mieliśmy to zrobić na początku.

    Sekcja 1, zadzwońmy 1.php

    Sekcja 2, zadzwońmy 2.php

    Sekcja 3, zadzwońmy 3.php

    Aby to zrobić, możesz użyć najprostszego polecenia Zapisz jako...

    Pozwólcie, że wyjaśnię najmłodszym: otwórz plik szablon.php, następnie naciśnij Zapisz jako... i zapisz go pod nazwą 1.php, powtórz procedurę i zapisz strony witryny po kolei 2.php, 3.php

    Skończyło się na 3 stronach z tym samym projektem. Po prostu wklej go zamiast pliku tekst.html inny, uzupełnij różnymi obrazkami lub kodami HTML, skryptami, a zawartość każdej strony będzie niepowtarzalna.

    Uwaga!

    Jeśli plik nie został utworzony indeks.php dla strony głównej, następnie w przeglądarce wpisując adres witryny, nie zobaczymy samej witryny, a jedynie strukturę katalogów (listę folderów).

    Możesz zajrzeć do Denver i przekonać się sam. Naprawmy sytuację - utwórz plik indeks.php i zadzwońmy bez zbędnych ceregieli dom. W tym samym czasie utwórzmy plik tekst-home.html i za pomocą polecenia włączać wstaw go na nowo utworzoną stronę główną serwisu.

    6. Jak wyświetlić stronę internetową w php?

    Po prostu nie zobaczymy, co się stało. To nie jest już szablon z rozszerzeniem HTML.

    Ale to też nie jest problem. Potrzebujemy własnego, tj. serwer lokalny na Twoim komputerze. Aby to zrobić, zainstalujemy Denver i obejrzymy wynik naszej pracy w przeglądarce bez konieczności łączenia się z Internetem.

    Teraz to porządek. Wpisałem adres strony i zobaczyłem wszystko, co właśnie powstało w normalnej formie z projektem.

    Zajmijmy się teraz menu PHP witryny.

    1. Otwórz plik menu.html i zamień sekcje 1, 2 i 3 w linki na stronie. Linki w PHP tworzone są na różne sposoby.

    Naszym zadaniem jest nauczyć się czuć stronę stworzoną w PHP. Dlatego będziemy tworzyć linki jak na zwykłej stronie statycznej Sekcja 1 itd.

    Bardzo podoba mi się ten proces tworzenia linków w Macromedia Dreamweaver. Miej czas na zbieranie plonów OK i napić się kawy.

    2. Jak sprawić, aby link w menu był nieaktywny, jeśli odwiedzający znajduje się na tej stronie.

    Wygodniejsze będzie dla odwiedzającego poruszanie się po witrynie, wiedząc, na której stronie się znajduje.

    Jeśli wykonałeś wszystkie kroki ściśle punkt po punkcie, zobaczysz, że wszystkie linki w menu są zawsze aktywne. Jak to naprawić?

    Na początek przypomnijmy sobie definicję tego, co to jest Instrukcje warunkowe

    – ma to miejsce, gdy jakaś akcja jest wykonywana lub nie, w zależności od warunków.

    Wykonajmy następujące czynności:

    • Będziemy potrzebować zmienne i jeden operatora warunkowego:

    if ($master == „Główny”)//ten warunek. Jeśli zostanie wykonany, to w tym miejscu menu za pomocą polecenia echo wstawiane są zwykłe znaczniki HTML, które wyświetlają napis „Strona główna”.

    Echo "

    dom

    ";

    w przeciwnym razie// oznacza „inaczej” - co się stanie, jeśli warunek nie zostanie spełniony. W takim przypadku, jeśli warunek nie zostanie spełniony, napis „Strona główna” będzie linkiem prowadzącym do strony głównej.

    Echo "

    dom

    ";

    • Wymyśliliśmy warunek, ale tak sprawdź zmiennąmusisz o to zapytać.

    W tym celu na wszystkich stronach umieścimy następujące bloki kodu:

    $master = "Główny";

    $master = "Sekcja 1";

    $master = "Sekcja 2";

    $master = "Sekcja 3";

    Jak widać, każda strona ma swój własny kod.

    Zatem nasze praktyczne kroki tworzenia menu PHP będą następujące:

    1) Otwórz plik indeks.php

    i wklej kod

    $master = "Główny";

    do miejsca, w którym wstawisz kod wyświetlający samo menu witryny dołącz „menu.html”;
    ?>

    2) Otwórz plik menu.html i wstaw kod z warunkiem zamiast prostego linku HTML do strony głównej.

    Patrzymy w przeglądarkę i podziwiamy! Jeśli przejdziemy na stronę główną, link nie będzie już aktywny!

    3) Powtórz punkty 1 i 2 ze stronami 1.php, 2.php, 3.php

    Powtórzenie 1:

    1) Otwórz plik 1.php i wstaw przed kodem wyświetlającym blok menu z podaną zmienną

    $master = "Sekcja 1";

    2) Otwórz plik menu.html i wstaw kod z warunkiem zamiast prostego linku Sekcja 1, wprowadzając następujące zmiany:

    if ($master == „Sekcja 1”)//ten warunek. Jeśli zostanie wykonany, to w tym miejscu menu za pomocą polecenia echo wstawiane są zwykłe znaczniki HTML, które wyświetlają napis „Sekcja 1”.

    Echo "

    Sekcja 1

    ";

    w przeciwnym razie// oznacza „inaczej” - co się stanie, jeśli warunek nie zostanie spełniony. W takim przypadku, jeśli warunek nie zostanie spełniony, napis „Sekcja 1” będzie linkiem prowadzącym do strony głównej.

    Echo "

    Sekcja 1

    ";

    Cud się powtórzył! Teraz, jeśli jesteśmy na stronie Sekcja 1, link w menu jest nieaktywny.

    Powtarzanie jest matką nauki! Albo dla tych w zbiorniku! Ponownie

    Powtórzenie 2

    1) Otwórz plik 2.php i wklej kod.

    $master = "Sekcja 2";

    2) Otwórz ponownie plik menu.html i wklej kod z warunkiem

    if ($master == „Sekcja 2”)//ten warunek. Jeśli zostanie wykonany, to w tym miejscu menu za pomocą polecenia echo wstawiane są zwykłe znaczniki HTML, które wyświetlają napis „Sekcja 2”.

    Echo "

    Sekcja 2

    ";

    w przeciwnym razie// oznacza „inaczej” - co się stanie, jeśli warunek nie zostanie spełniony. W takim przypadku, jeśli warunek nie zostanie spełniony, napis „Sekcja 2” będzie linkiem prowadzącym do strony głównej.

    Echo "

    Sekcja 2

    ";

    Powtórzenie 3

    1) Otwarcie plik 3.php i ustaw zmienną.

    $master = "Sekcja 3";

    2) W pliku menu.html zamiast linku wstawiamy kod z warunkiem Sekcja 3, zmiany są następujące:

    if ($master == „Sekcja 3”)//ten warunek. Jeśli zostanie wykonany, to w tym miejscu menu za pomocą polecenia echo wstawiane są zwykłe znaczniki HTML, które wyświetlają napis „Sekcja 3”.

    Echo "

    Sekcja 3

    ";

    w przeciwnym razie// oznacza „inaczej” - co się stanie, jeśli warunek nie zostanie spełniony. W takim przypadku, jeśli warunek nie zostanie spełniony, napis „Sekcja 3” będzie linkiem prowadzącym do strony głównej.

    Echo "

    Sekcja 3

    ";

    Konkluzja: zamiast linków w tego typu menu

    dom


    Sekcja 1

    Sekcja 2


    Sekcja 3

    Ta lekcja o php została napisana w odpowiedzi na liczne prośby odwiedzających witrynę i jest praktycznym przewodnikiem do nauki tworzenia dynamicznego menu dla witryny w php.

    Ściągawka następnego webmastera powie Ci, jak stworzyć unikalne tytuły, opisy i słowa kluczowe dla każdej strony w PHP.

    Możesz pobrać archiwum ze wszystkimi plikami szablonów witryny i menu php. Zalecane dla osób rozpoczynających przygodę z programowaniem.

    Jeśli jesteś gotowy, aby poważnie studiować PHP, trudno jest znaleźć lepszy kurs wideo od Popova. Ma duże doświadczenie i dobry styl.

    ]]> ]]>



  • 2024 | Komputery dla każdego - konfiguracja, instalacja, odzyskiwanie