Návod na používanie jSQL Injection, multifunkčného nástroja na vyhľadávanie a využívanie SQL injekcií v Kali Linuxe. Viacúrovňové menu v PHP a MySQL Inurl php vlastné menu hry id

Žiadna webová stránka nie je úplná bez navigácie alebo, ako to tiež nazývajú, „ponuky stránok“. Takže ponuka lokality môže byť jednoúrovňová alebo viacúrovňová vo forme stromu. Ak neexistujú žiadne osobitné ťažkosti z hľadiska implementácie s jednoúrovňovým menu, potom pri vytváraní viacúrovňového menu musíte starostlivo premyslieť.

Najdôležitejšou vecou v tejto úlohe je navrhnúť databázu pre naše viacúrovňové menu. Vytvorme si tabuľku Kategórie s tromi poliami id, titul, rodič Kde:

  • ID- identifikátor
  • Názov- Názov menu
  • Rodič- Predvolená nadradená kategória 0

Pole je zodpovedné za vetvenie menu Rodič Ak Rodič = 0, potom je táto kategória nadradenou kategóriou. Ak chcete pridať potomkov do nadradenej kategórie, musíte zadať v nadradenom poli ID správny rodič. Napríklad:

Tabuľky s kategóriami

Ako je zrejmé z tabuľky, nadradená kategória Autá sú dvaja potomkovia - toto je Mazda A Honda súvisiace podľa odboru Rodič. A kategória Motocykle sú dvaja potomkovia Kawasaki A Harley. Zároveň kategória Lode nemá žiadneho potomka. Dúfam, že ste pochopili, ako prepojiť kategórie.

Ďalej prejdeme od slov k precvičovaniu. Vytvorme si tabuľku kategórií.

VYTVORIŤ TABUĽKU, AK NEEXISTUJE `categories` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `parent` int(10) unsigned NOT NULL, PRIMAR KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ; -- -- Výpis údajov z tabuľky `categories` -- INSERT INTO `categories` (`id`, `title`, `parent`) VALUES (1, "Autá", 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, "Lode", 0), (12, "Liftback" , 8), (13, "Crossover", 8), (14, "Biela", 13), (15, "Červená", 13), (16, "Čierna", 13), (17, "Zelená" , 13), (18, "Mazda CX", 3), (19, "Mazda MX", 3);

Pracovný algoritmus pozostáva z nasledujúcich prvkov:

Vytvorte pripojenie k databáze

dotaz("SET NAMES "utf8""); /* * Toto je "oficiálny" objektovo orientovaný spôsob, ako to urobiť * avšak $connect_error nefungovalo až do verzií PHP 5.2.9 a 5.3.0. */ if ($mysqli->connect_error) ( die("Chyba pripojenia (" . $mysqli->connect_errno . ") " . $mysqli->connect_error); ) /* * Ak si potrebujete byť istí kompatibilitou s verziami pred 5.2 .9, * je lepšie použiť tento kód */ if (mysqli_connect_error()) ( die("Chyba pripojenia (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); )

Zápis funkcie na získanie údajov z tabuľky Kategórie

//Získajte pole našej ponuky z databázy ako funkciu poľa getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Vytvoriť pole, kde kľúčom poľa je ID ponuky $cat = array(); while($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $ mačka ;)

Dostaneme pole, ako je toto, kde kľúč poľa je ID kategórie.

Funkcia konštrukcie z masívneho dreva od Tommyho Lacroixa

//Funkcia na zostavenie stromu z poľa od Tommyho Lacroixa funkcia getTree($dataset) ( $tree = array(); foreach ($dataset as $id => &$node) ( //Ak neexistujú žiadne prílohy if ( !$node[" parent"])( $strom[$id] = &$node; )else( //Ak existujú deti, potom iterujte cez pole $dataset[$node["parent"]]["childs "][$id] = &$ uzol; ) ) vráti $strom; )

Dostaneme pole vo forme stromu

Celý scenár

dotaz("SET NAMES "utf8""); /* * Toto je "oficiálny" objektovo orientovaný spôsob, ako to urobiť * avšak $connect_error nefungovalo až do verzií PHP 5.2.9 a 5.3.0. */ if ($mysqli->connect_error) ( die("Chyba pripojenia (" . $mysqli->connect_errno . ") " . $mysqli->connect_error); ) /* * Ak si potrebujete byť istí kompatibilitou s verziami pred 5.2 .9, * je lepšie použiť tento kód */ if (mysqli_connect_error()) ( die("Chyba pripojenia (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); ) //Získať pole našej ponuky z databázy ako funkcia poľa getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Vytvorenie poľa, kde je kľúč poľa je ID ponuky $cat = array(); while ($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $cat; ) //Funkcia pre vytvorenie stromu z poľa z funkcie Tommyho Lacroixa getTree($dataset) ( $tree = array(); foreach ($dataset ako $id => &$node) ( //Ak neexistujú žiadne prílohy if (!$node[ "rodič"])( $strom[$id] = &$uzol; )else( //Ak existujú potomkovia, prejdite cez pole $dataset[$node["parent"]]["childs"][$ id] = &$node; ) ) return $tree; ) //Získajte pripravené pole s údajmi $cat = getCat($mysqli); //Vytvorenie stromovej ponuky $strom = getTree($cat); //Šablóna na zobrazenie menu vo forme stromovej funkcie tplMenu($category)( $menu = "
  • ". $category["title"].""; if(isset($category["childs"]))( $menu .= "
      ". showCat($category["deti"]) ."
    ";) $menu .="
  • "; return $menu; ) /** * Prečítajte si našu šablónu rekurzívne **/ funkcia showCat($data)( $string = ""; foreach($data as $item)( $string .= tplMenu($item); ) return $string; ) //Získať HTML značku $cat_menu = showCat($tree); //Zobraziť echo "
      ".$cat_menu."
    "; ?>

    Výsledok práce

    Viacúrovňové menu v PHP + MySQL pre admin panel

    Ak chcete použiť túto ponuku na paneli správcu vašej stránky, musíte prepísať niekoľko funkcií tplMenu(), showCat().

    ".$category["title"].""; )else( $menu = " "; ) if(isset($kategória["deti"]))( $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 ""; ?>

    Výsledok práce

    Vyberte Autá → Mazda →→ Mazda 3 →→→ Sedan →→→ Hatchback →→ Mazda 6 →→→ Liftback →→→ Crossover →→→→ Biela →→→→ Červená → →→→ Čierna →→→→ Zelená →→ Mazda CX →→ Mazda MX → Motocykle Honda → Kawasaki → Harley Boats

    Spustite stiahnutý súbor dvojitým kliknutím (potrebujete mať virtuálny stroj).

    3. Anonymita pri kontrole stránky pre SQL injection

    Nastavenie Tor a Privoxy v Kali Linuxe

    [Sekcia vo vývoji]

    Nastavenie Tor a Privoxy v systéme Windows

    [Sekcia vo vývoji]

    Nastavenia proxy v jSQL Injection

    [Sekcia vo vývoji]

    4. Kontrola stránky pre SQL injection pomocou jSQL Injection

    Práca s programom je mimoriadne jednoduchá. Stačí zadať adresu webovej stránky a stlačiť ENTER.

    Nasledujúca snímka obrazovky ukazuje, že stránka je zraniteľná voči trom typom SQL injekcií (informácie o nich sú uvedené v pravom dolnom rohu). Kliknutím na názvy injekcií môžete prepínať použitú metódu:

    Taktiež sa nám už zobrazili existujúce databázy.

    Obsah každej tabuľky si môžete pozrieť:

    Najzaujímavejšou vecou na tabuľkách sú zvyčajne poverenia správcu.

    Ak máte šťastie a nájdete údaje správcu, je priskoro na radosť. Stále musíte nájsť admin panel, kam zadať tieto údaje.

    5. Hľadajte admin panely pomocou jSQL Injection

    Ak to chcete urobiť, prejdite na ďalšiu kartu. Tu nás privíta zoznam možných adries. Na kontrolu môžete vybrať jednu alebo viac stránok:

    Pohodlie spočíva v tom, že nemusíte používať ďalšie programy.

    Bohužiaľ, nie je veľa neopatrných programátorov, ktorí ukladajú heslá v čistom texte. Pomerne často v riadku hesla vidíme niečo ako

    8743b52063cd84097a65d1633f5c74f5

    Toto je hash. Môžete ho dešifrovať pomocou hrubej sily. A... jSQL Injection má vstavaný brute force.

    6. Hrubá sila hash pomocou jSQL Injection

    Nepochybným pohodlím je, že nemusíte hľadať ďalšie programy. Existuje podpora pre mnohé z najpopulárnejších hashov.

    Toto nie je najlepšia možnosť. Aby ste sa stali guruom v dekódovaní hashov, odporúča sa kniha „“ v ruštine.

    Ale samozrejme, keď nie je po ruke iný program alebo nie je čas na štúdium, veľmi vhod príde jSQL Injection so vstavanou funkciou hrubej sily.

    Existujú nastavenia: môžete nastaviť, ktoré znaky sú zahrnuté v hesle, rozsah dĺžky hesla.

    7. Operácie so súbormi po zistení injekcií SQL

    Okrem operácií s databázami - ich čítanie a úprava, ak sa zistia injekcie SQL, možno vykonať nasledujúce operácie so súbormi:

    • čítanie súborov na serveri
    • nahrávanie nových súborov na server
    • nahrávanie shellov na server

    A to všetko je implementované v jSQL Injection!

    Existujú obmedzenia - server SQL musí mať práva na súbory. Správcovia inteligentného systému ich majú vypnuté a nebudú môcť získať prístup k súborovému systému.

    Prítomnosť privilégií k súborom sa kontroluje pomerne jednoducho. Prejdite na jednu zo záložiek (čítanie súborov, vytvorenie shellu, nahranie nového súboru) a skúste vykonať jednu zo zadaných operácií.

    Ešte veľmi dôležitá poznámka – musíme poznať presnú absolútnu cestu k súboru, s ktorým budeme pracovať – inak nebude fungovať nič.

    Pozrite si nasledujúcu snímku obrazovky:

    Na akýkoľvek pokus o prácu so súborom dostaneme nasledujúcu odpoveď: Žiadne privilégium FILE(žiadne privilégiá k súborom). A tu sa nedá nič robiť.

    Ak namiesto toho máte inú chybu:

    Problém so zápisom do [názov_adresára]

    To znamená, že ste nesprávne zadali absolútnu cestu, kam chcete súbor zapísať.

    Aby ste uhádli absolútnu cestu, musíte aspoň poznať operačný systém, na ktorom server beží. Ak to chcete urobiť, prejdite na kartu Sieť.

    Takýto záznam (riadok Win64) nám dáva dôvod predpokladať, že máme čo do činenia s OS Windows:

    Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Pripojenie: Keep-Alive Metóda: HTTP/1.1 200 OK Obsah-Dĺžka: 353 Dátum: Pia, 11. december 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; znaková sada=UTF-8

    Tu máme nejaký Unix (*BSD, Linux):

    Transfer-Encoding: chunked Dátum: Pi, 11 Dec 2015 11:57:02 GMT Metóda: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Connection: keep-alive Content-Type: text/html X- Poháňané: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

    A tu máme CentOS:

    Metóda: HTTP/1.1 200 OK Vyprší: štvrtok, 19. novembra 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Pripojenie: keep-alive X-Cache-Lookup: MISS z t1.hoster.ru:6666 Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS z t1.hoster.ru Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Date: Pi, 11 Dec 2015 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251

    V systéme Windows je typický priečinok pre lokality C:\Server\data\htdocs\. Ale v skutočnosti, ak niekto „uvažoval“ o vytvorení servera v systéme Windows, potom je veľmi pravdepodobné, že táto osoba nepočula nič o privilégiách. Preto by ste mali začať skúšať priamo z adresára C:/Windows/:

    Ako vidíte, všetko prebehlo v poriadku na prvýkrát.

    Ale samotné shelly jSQL Injection vyvolávajú v mojej mysli pochybnosti. Ak máte privilégiá k súborom, môžete jednoducho niečo nahrať pomocou webového rozhrania.

    8. Hromadná kontrola stránok pre SQL injekcie

    A dokonca aj táto funkcia je dostupná v jSQL Injection. Všetko je veľmi jednoduché - stiahnite si zoznam stránok (možno importovať zo súboru), vyberte tie, ktoré chcete skontrolovať, a kliknutím na príslušné tlačidlo spustite operáciu.

    Záver z jSQL Injection

    jSQL Injection je dobrý a výkonný nástroj na vyhľadávanie a následné použitie injekcií SQL, ktoré sa nachádzajú na webových stránkach. Jeho nesporné výhody: jednoduché použitie, vstavané súvisiace funkcie. jSQL Injection môže byť najlepším priateľom začiatočníka pri analýze webových stránok.

    Medzi nedostatky by som poznamenal nemožnosť editácie databáz (aspoň ja som túto funkcionalitu nenašiel). Ako pri všetkých nástrojoch GUI, jednu z nevýhod tohto programu možno pripísať jeho nemožnosti použiť v skriptoch. Napriek tomu je v tomto programe možná aj určitá automatizácia - vďaka vstavanej funkcii hromadného skenovania stránok.

    stanovená vzorka a certifikát. Pre špeciálnu zľavu na akékoľvek fakulty a kurzy!

    V predminulom blogu som písal o zaujímavých inováciách najnovšej verzie WordPress – špeciálnom mechanizme na vytváranie a správu . Teraz je pre bežných používateľov oveľa pohodlnejšie a jednoduchšie vytvárať ponuky rôznej zložitosti, ktoré môžu pozostávať nielen zo stránok alebo kategórií blogov, ale môžu obsahovať aj odkazy na ľubovoľnú adresu URL. Na zobrazenie ponuky v šablóne sa používa špeciálna funkcia wp_nav_menu - dnes vám o nej poviem.

    Ak v admine WordPress nie je žiadna sekcia ponuky, môžete ju aktivovať pridaním špeciálneho kódu do súboru functions.php

    Tu je prvý názov menu, ktoré sme vytvorili. Ide o použitie funkcie vo všeobecnom prípade bez widgetov, tam s nimi budete musieť pracovať trochu inak. Funkciu wp_nav_menu je však možné zobraziť bez argumentov, v dôsledku čoho sa budú „prehliadať“ rôzne situácie - najprv zhoda podľa názvu ponuky, ak je pre ňu špecifikovaná aspoň jedna položka ponuky, inak nebude prázdna ponuka sa jednoducho zobrazí atď. Ale opäť vám odporúčam, aby ste jednoducho použili vyššie uvedený kód a nezisťovali, čo by mala funkcia bez argumentov vydávať. Jeho syntax je nasledovná:

    Tu sa používajú nasledujúce parametre:

    $menu— vybraný identifikátor pre menu — ID, slimák alebo názov menu.

    $kontajner- Ponuka UL je pri tomto nastavení štandardne „zabalená“ do kontajnera DIV.

    $container_class— označuje triedu kontajnera, štandardne má hodnotu menu-(menu slug)-container, čiže v našom prípade bude napríklad trieda menu-first-container.

    $container_id— do kontajnera môžete pridať ID, ktoré nie je predvolene určené.

    $menu_class— trieda pre prvok menu UL, jeho hodnota je menu.

    $menu_id— ID prvku ul, predvolene je menu-(slug)

    $echo— ak nechcete zobraziť menu, ale vrátiť hodnotu funkcie, použite pre toto nastavenie hodnotu 0.

    $fallback_cb— ak ponuka neexistuje, zavolá sa funkcia wp_page_menu.

    $predtým— nastaví text, ktorý sa zobrazí pred odkazom A.

    $link_before— zobrazí frázu pred textom odkazu, nešpecifikovaná.

    $link_after— zobrazené za textom odkazu, tiež prázdne.

    $hĺbka— nastavuje počet úrovní hierarchie na zobrazenie ponuky; predvolená hodnota 0 zobrazuje celú ponuku.

    $chodec- nejaký druh nepochopiteľného vlastného „chodiaceho objektu“, pravdepodobne viac potrebný pre pokročilých vývojárov.

    $theme_location— umiestnenie témy, kde sa bude ponuka používať, musí byť aktivované pomocou register_nav_menu(), aby si ju používateľ mohol vybrať. Tiež nejaké nie úplne jasné nastavenie, zrejme pri práci s widgetmi.

    Príklady použitia funkcie wp_nav_menu

    Najjednoduchší kód uvedený v kóde je:

    Odstránenie kontajnera DIV z ponuky

    "")); ?>

    Vo vytváraní a správe ponuky WordPress 3.0 v zásade nie je nič zložité. Vývojári výrazne zjednodušili pracovný postup a rozšírili možnosti tohto navigačného prvku. Riešenie sa často používa v rôznych úlohách šablón, napríklad pri vytváraní pre mobilné a desktopové verzie. O niečo neskôr pridám pár ďalších úryvkov na túto tému.

    P.S. Stráž. Zaujímavý a užitočný blog pre webmasterov o SEO, kde nájdete odpovede na svoje otázky o SEO.
    Spoločnosť Aweb sa dlhodobo veľmi dobre etablovala v oblasti propagácie webových stránok, optimalizácie a propagácie vyhľadávačov na internete.

    Pretože odhaľuje obsah modulu menu.php. Nižšie predstavíme náš vlastný vývoj menu v PHP, ktorý bol napísaný od začiatku v poznámkovom bloku.

    Tento kód bude užitočný najmä pre dynamické stránky, ktoré majú vlastné nástroje. Ponúknem dve možnosti kódu, ktoré majú menšie rozdiely (rozdiely budú vysvetlené neskôr).

    Na začiatok uvediem približnú štruktúru stránky, pre ktorú je toto menu vhodné. Štruktúra stránky by mala vyzerať takto (klasické zobrazenie):

    /index.html /razdel_1/ /razdel_1/articles_1.html /razdel_1/articles_2.html ... /razdel_2/ /razdel_2/articles_1.html /razdel_2/articles_2.html ... ... ... /razdel_N/articles_2 .html

    Stránka môže obsahovať aj podsekcie pre sekcie:

    /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

    Táto štruktúra bude fungovať aj pre naše menu len s malými rozdielmi.

    Navrhujem vytvoriť samostatný súbor pre menu v php. Napríklad menu.php by bol skvelý názov pre takýto súbor. Na implementáciu ponuky je k dispozícii aj štýl ponuky v CSS, aby bola okamžite viac alebo menej krásna. Prirodzene, tento štýl je uvedený len ako referencia, pretože dizajn stránok je veľmi odlišný.

    Kód pre štýl ponuky v CSS:

    .menu ( height:42px; padding:0 0 0 16px; background:url(images/spacer.png) repeat; ) .menu li ( display:block; float:left; ) .menu li.active ( background: #000011 ; ) .menu a ( color:#FFF; display:block; line-height:42px; text-decoration:none; padding:0 14px; ) .menu a:hover ( background:url(images/spacer.png) repeat ;)

    Teraz sa pozrime na prvú možnosť implementácie menu v PHP, ktorá je trochu zjednodušená.

    Prvá verzia kódu menu v PHP

    \n"; pre ($i=0;$i ": "
  • "; echo" ".$array_menu[$i]["name"]."
  • \n"; ) echo ""; ?>

    Menu je možné rozdeliť na dve časti. Prvý obsahuje informačné pole $array_menu, ktoré obsahuje názvy našich sekcií s odkazmi na sekcie. Existuje možnosť zadať tieto údaje do databázy mySQL, ale v tom nie je žiadny konkrétny bod, pretože vzorka je veľmi malá, takže to neovplyvní rýchlosť práce.

    Druhá časť obsahuje výstup menu cez cyklus for. Cyklus porovnáva adresu lokality s adresou z poľa $array_menu. Ak existuje zhoda, zobrazíme ďalšiu časť ponuky so špeciálnou aktívnou triedou:

  • , inak len
  • . To nám umožňuje zvýrazniť nejakou farbou časť menu, v ktorej sa používateľ nachádza. Podľa môjho názoru je to nevyhnutná vec pre každú stránku, aby používateľ pochopil, v ktorej sekcii sa nachádza.

    Poradie v poli sa zachová, keď sa ponuka zobrazí na stránke. To znamená, že pole musí byť vyplnené v poradí, v akom sa má ponuka zobraziť.

    Poznámka:
    Ak adresy URL (adresy) nadpisov sekcií vyzerajú takto:
    /sekcia 1
    alebo takto
    /razdel_1/nazvanie_razdela.html
    potom musíte napísať presnú zhodu do poľa_menu:
    $array_menu[$i]["url"]="/razdel_1"
    alebo v druhom prípade:
    $array_menu[$i]["url"]="/razdel_1/nazvanie_razdela.html";

    Ako funguje prvá možnosť ponuky?
    Zvýrazňuje ponuku iba vtedy, ak ste na adrese hlavičky sekcie. Napríklad, ak je adresa stránky /razdel_1/articles_1.html, potom ponuka nebude nijako zvýraznená.

    Druhá verzia kódu je upravenou verziou prvej a poskytuje možnosť zvýrazniť menu aj v článkoch, ktoré sa nachádzajú v sekciách.

    Druhá verzia kódu menu v PHP

    "; pre ($i=0;$i ": "
  • "; echo "".$array_menu[$i]["title"]."
  • "; ) else ( echo ($URL) == ($array_menu[$i]["url"]) ? "
  • ": "
  • "; echo "".$array_menu[$i]["title"]."
  • ";)) echo""; ?>

    Ak vás zaujíma odpoveď na otázku, ako vytvoriť menu webovej stránky, tak ste na správnej adrese.

    Pozrieme sa na vytvorenie dynamického menu v PHP, napísané špeciálne pre programovanie figurín, ako aj pre tých, ktorí sú stále v nádrži.

    Lekcia 3. Vytvorenie ponuky v php pre dynamickú webovú stránku - pre figuríny

    Poďme vytvoriť budúci vzhľad našej webovej stránky. Aby sme to dosiahli, nakreslíme super krásnu webovú stránku vo Photoshope a rozrežeme ju na kúsky. Predstavme si, že hlavička, logo, menu a päta nie sú písané slovami, ako v tomto príklade, ale ide o elegantne a farebne riešené prvky stránky.

    Vytvorme si napríklad tri stránky a nazvime ich Sekcia 1, Sekcia 2, Sekcia 3

    Tento text sa bude na rôznych stránkach líšiť, ale nebudeme sa s tým obťažovať a necháme ho tak, ako je na všetkých stránkach.

    Začnime vytvárať webovú stránku v PHP.

    1. Vyberte bloky hlavičky, loga, ponuky, päty do samostatných súborov s príponou php alebo html

    header.html

    logo.html

    menu.html

    footer.html

    Pridajme súbor s týmto textom, aby sme ho videli na všetkých stránkach. Zavolajme mu text.html

    Poznámka. Odteraz budem ďalšie záznamy viesť priamo v kartotéke. text.html

    2. Vytvorme si šablónu pre náš web v PHP.

    Aby sme to urobili, urobíme jednoduchú vec - uložíme skutočný súbor, ale s príponou php a vymažeme všetok textový obsah. Nie je to síce profesionálne, ale dá sa to pochopiť, ale všetko si skomplikujeme neskôr. Teraz je hlavnou vecou pochopiť princíp rozloženia.

    3. Teraz nepotrebujeme súbor template.html.

    Vďaka nemu máme predstavu, ako bude naša stránka vyzerať.

    4. Naša šablóna je súbor template.php

    Teraz do nej vložíme všetky prvky lokality pomocou príkazu include.

    5. Vytvorme tri strany, ako sme to pôvodne chceli urobiť.

    Sekcia 1, zavoláme si 1.php

    Sekcia 2, zavoláme si 2.php

    Časť 3, zavoláme si 3.php

    Ak to chcete urobiť, môžete použiť najjednoduchší príkaz uložiť ako...

    Vysvetlím pre najmenších: otvorte súbor šablóna.php, potom stlačte uložiť ako... a uložte ho pod menom 1.php, zopakujte postup a uložte stránky lokality postupne 2.php, 3.php

    Skončili sme s 3 stranami s rovnakým dizajnom. Stačí ho prilepiť namiesto súboru text.html iný, doplnok o rôzne obrázky alebo nejaké html kódy, skripty a obsah každej stránky bude jedinečný.

    Pozor!

    Ak súbor nie je vytvorený index.php pre hlavnú stránku potom v prehliadači zadaním adresy stránky neuvidíme samotnú stránku, ale iba adresárovú štruktúru (zoznam priečinkov).

    Môžete sa pozrieť do Denveru a presvedčiť sa na vlastné oči. Opravme situáciu - vytvorte súbor index.php a bez ďalších okolkov zavoláme Domov. Zároveň si vytvoríme súbor text-home.html a pomocou príkazu zahŕňajú vložte ho na novovytvorenú hlavnú stránku webu.

    6. Ako zobraziť webovú stránku v php?

    Len neuvidíme, čo sa stalo. Toto už nie je šablóna s príponou html.

    Ale tiež nie je problém. Potrebujeme vlastné, t.j. lokálny server na vašom počítači. Aby sme to dosiahli, nainštalujeme Denver a pozrieme sa na výsledok našej práce v prehliadači bez toho, aby sme museli byť online.

    Teraz je to poradie. Zadal som adresu stránky a videl som všetko, čo bolo práve vytvorené, v normálnej forme s dizajnom.

    Teraz sa pozrime na ponuku PHP stránky.

    1. Otvorte súbor menu.html a premeňte sekcie 1, 2 a 3 na odkazy na stránke. Odkazy v PHP sa vytvárajú rôznymi spôsobmi.

    Našou úlohou je naučiť sa cítiť stránku vytvorenú v PHP. Preto spravíme odkazy ako na bežnej statickej stránke Sekcia 1 atď.

    Absolútne milujem tento proces vytvárania odkazov v Macromedia Dreamweaver. Mať čas žať OK a piť kávu.

    2. Ako urobiť odkaz v menu neaktívnym, ak je návštevník na tejto stránke.

    Pre návštevníka bude pohodlnejšie pohybovať sa po stránke s vedomím, na ktorej stránke sa nachádza.

    Ak ste dodržali všetky kroky striktne bod po bode, uvidíte, že všetky odkazy v menu sú vždy aktívne. Ako to opraviť?

    Najprv si pripomeňme definíciu toho, čo to je Podmienečné vyhlásenia

    – je to vtedy, keď sa vykoná alebo nevykoná nejaká činnosť v závislosti od podmienok.

    Urobme nasledovné:

    • Budeme potrebovať premenných a jeden podmienený operátor:

    if ($master == "Hlavné")// táto podmienka. Ak sa vykoná, potom sa na toto miesto v ponuke pomocou príkazu echo vložia bežné značky HTML, ktoré zobrazujú nápis „Domov“.

    ozvena"

    Domov

    ";

    inak// znamená „inak“ - čo sa stane, ak podmienka nebude splnená. V tomto prípade, ak podmienka nie je splnená, nápis „Domov“ bude odkazom vedúcim na hlavnú stránku.

    ozvena"

    Domov

    ";

    • Vymysleli sme si podmienku, ale tak skontrolovať premennútreba sa to opýtať.

    Na tento účel umiestnime na všetky stránky nasledujúce bloky kódu:

    $master = "Hlavný";

    $master = "Sekcia 1";

    $master = "Sekcia 2";

    $master = "Sekcia 3";

    Ako vidíte, každá stránka má svoj vlastný kód.

    Takže naše praktické kroky na vytvorenie ponuky PHP budú nasledovné:

    1) Otvorte súbor index.php

    a vložte kód

    $master = "Hlavný";

    na miesto, kde vložíte kód, ktorý zobrazí samotné menu stránky zahrnúť "menu.html";
    ?>

    2) Otvorte súbor menu.html a vložte kód s podmienkou namiesto jednoduchého html odkazu na hlavnú stránku.

    Pozeráme sa do prehliadača a obdivujeme! Ak prejdeme na hlavnú stránku, odkaz už nie je aktívny!

    3) Opakujte body 1 a 2 so stranami 1.php, 2.php, 3.php

    Opakovanie 1:

    1) Otvorte súbor 1.php a vložte pred kód, ktorý zobrazuje blok ponuky s danou premennou

    $master = "Sekcia 1";

    2) Otvorte súbor menu.html a namiesto jednoduchého odkazu vložte kód s podmienkou Sekcia 1, pričom vykoná nasledujúce zmeny:

    if ($master == "Sekcia 1")// táto podmienka. Ak sa vykoná, potom sa na toto miesto v ponuke pomocou príkazu echo vložia bežné značky HTML, ktoré zobrazujú nápis „Sekcia 1“.

    ozvena"

    Sekcia 1

    ";

    inak// znamená „inak“ - čo sa stane, ak podmienka nebude splnená. V tomto prípade, ak podmienka nie je splnená, nápis „Sekcia 1“ bude odkazom vedúcim na hlavnú stránku.

    ozvena"

    Sekcia 1

    ";

    Zázrak sa stal znova! Teraz, ak sme na stránke Sekcia 1, odkaz v menu nie je aktívny.

    Opakovanie je matka učenia! Alebo pre tých v nádrži! Opäť

    Opakovanie 2

    1) Otvorte súbor 2.php a vložte kód.

    $master = "Sekcia 2";

    2) Znova otvorte súbor menu.html a prilepte kód s podmienkou

    if ($master == "Sekcia 2")// táto podmienka. Ak sa vykoná, potom sa na toto miesto v ponuke pomocou príkazu echo vložia bežné značky HTML, ktoré zobrazujú nápis „Sekcia 2“.

    ozvena"

    Sekcia 2

    ";

    inak// znamená „inak“ - čo sa stane, ak podmienka nebude splnená. V tomto prípade, ak podmienka nie je splnená, nápis „Sekcia 2“ bude odkazom vedúcim na hlavnú stránku.

    ozvena"

    Sekcia 2

    ";

    Opakovanie 3

    1) Otvorenie súbor 3.php a nastavte premennú.

    $master = "Sekcia 3";

    2) Do súboru menu.html vložíme namiesto odkazu kód s podmienkou Časť 3, zmeny sú:

    if ($master == "Sekcia 3")// táto podmienka. Ak sa vykoná, potom sa na toto miesto v ponuke pomocou príkazu echo vložia bežné značky HTML, ktoré zobrazujú nápis „Sekcia 3“.

    ozvena"

    Časť 3

    ";

    inak// znamená „inak“ - čo sa stane, ak podmienka nebude splnená. V tomto prípade, ak podmienka nie je splnená, nápis „Sekcia 3“ bude odkazom vedúcim na hlavnú stránku.

    ozvena"

    Časť 3

    ";

    Spodná čiara: namiesto odkazov v tomto type menu

    Domov


    Sekcia 1

    Sekcia 2


    Časť 3

    Táto lekcia o php bola napísaná ako odpoveď na početné požiadavky návštevníkov stránky a je praktickým sprievodcom, ako sa naučiť vytvoriť dynamické menu pre stránku v php.

    Nasledujúci webmasterov cheat sheet vám povie, ako vytvoriť jedinečné názvy, popisy a kľúčové slová pre každú stránku v PHP.

    Môžete si stiahnuť archív so všetkými súbormi šablón stránok a php menu. Odporúča sa pre začiatočníkov v programovaní.

    Ak ste pripravení vážne študovať PHP, potom je ťažké nájsť lepší video kurz od Popova. Má veľa skúseností a dobrý štýl.

    ]]> ]]>



  • 2024 | Počítače pre každého – nastavenie, inštalácia, obnovenie