Návod k použití jSQL Injection, multifunkčního nástroje pro hledání a využívání SQL injection v Kali Linuxu. Víceúrovňové menu v PHP a MySQL Inurl php vlastní id menu hry

Žádná webová stránka není kompletní bez navigace nebo, jak tomu také říkají, „nabídky stránek“. Nabídka webu tedy může být jednoúrovňová nebo víceúrovňová ve formě stromu. Pokud neexistují žádné zvláštní potíže z hlediska implementace s jednoúrovňovým menu, pak při vytváření víceúrovňového menu musíte pečlivě přemýšlet.

Nejdůležitější v tomto úkolu je navrhnout databázi pro naše víceúrovňové menu. Vytvořme tabulku kategorií se třemi poli id, titul, rodič Kde:

  • ID- identifikátor
  • Titul- Název menu
  • Rodič- Výchozí nadřazená kategorie 0

Pole je zodpovědné za větvení menu Rodič Li Rodič = 0, pak je tato kategorie nadřazenou kategorií. Chcete-li přidat potomky do nadřazené kategorie, musíte zadat v nadřazeném poli ID správný rodič. Například:

Tabulky s kategoriemi

Jak je z tabulky patrné, nadřazená kategorie Auta jsou dva potomci - to je Mazda A Honda související podle oboru Rodič. A kategorie Motocykly jsou dva potomci Kawasaki A Harley. Přitom kategorie Lodě nemá žádné potomky. Doufám, že rozumíte tomu, jak propojit kategorie.

Dále přejdeme od slov k procvičování. Vytvoříme tabulku kategorií.

VYTVOŘIT TABULKU, POKUD NEEXISTUJE `kategorie` (`id` int(10) nepodepsané NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `parent` int(10) unsigned NENÍ NULL, PRIMÁRNÍ KLÍČ (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ; -- -- Výpis dat z tabulky `categories` -- INSERT INTO `categories` (`id`, `title`, `parent`) VALUES (1, "Auta", 0), (2, "Motocykly", 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, "Lodě", 0), (12, "Liftback" , 8), (13, "Crossover", 8), (14, "Bílá", 13), (15, "Červená", 13), (16, "Černá", 13), (17, "Zelená" , 13), (18, "Mazda CX", 3), (19, "Mazda MX", 3);

Algoritmus práce se skládá z následujícího:

Vytvořte připojení k databázi

dotaz("SET NAMES "utf8""); /* * Toto je "oficiální" objektově orientovaný způsob, jak toho dosáhnout * $connect_error však nefungovalo až do verzí PHP 5.2.9 a 5.3.0. */ if ($mysqli->connect_error) ( die("Chyba připojení (" . $mysqli->connect_errno. ") " . $mysqli->connect_error); ) /* * Pokud si potřebujete být jisti kompatibilitou s verzemi před 5.2 .9, * je lepší použít tento kód */ if (mysqli_connect_error()) ( die("Chyba připojení (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); )

Psaní funkce pro získání dat z tabulky Categories

//Získejte pole naší nabídky z databáze jako funkci pole getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Vytvořit pole, kde klíčem pole je ID nabídky $cat = array(); while($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $ kočka ;)

Dostaneme pole, jako je toto, kde klíč pole je ID kategorie.

Funkce konstrukce z masivního dřeva od Tommyho Lacroixe

//Funkce pro sestavení stromu z pole od Tommyho Lacroix funkce getTree($dataset) ( $tree = array(); foreach ($dataset as $id => &$node) ( //Pokud nejsou žádné přílohy if ( !$node[" rodič"])( $strom[$id] = &$uzel; )else( //Pokud existují děti, projděte pole $dataset[$node["parent"]]["childs "][$id] = &$ uzel; ) ) vrátit $strom; )

Dostaneme pole ve tvaru stromu

Celý scénář

dotaz("SET NAMES "utf8""); /* * Toto je "oficiální" objektově orientovaný způsob, jak toho dosáhnout * $connect_error však nefungovalo až do verzí PHP 5.2.9 a 5.3.0. */ if ($mysqli->connect_error) ( die("Chyba připojení (" . $mysqli->connect_errno. ") " . $mysqli->connect_error); ) /* * Pokud si potřebujete být jisti kompatibilitou s verzemi před 5.2 .9, * je lepší použít tento kód */ if (mysqli_connect_error()) ( die("Chyba připojení (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); ) //Získat pole naší nabídky z databáze jako funkce pole getCat($mysqli)( $sql = "SELECT * FROM `kategorie`"; $res = $mysqli->query($sql); //Vytvoří pole, kde je klíč pole je ID nabídky $cat = array(); while ($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $cat; ) //Funkce pro vytvoření stromu z pole od Tommyho Lacroix funkce getTree($dataset) ( $tree = array(); foreach ($dataset jako $id => &$node) ( //Pokud nejsou žádné přílohy if (!$node[ "rodič"])( $strom[$id] = &$uzel; )else( //Pokud existují potomci, projděte pole $dataset[$node["rodič"]]["dítě"][$ id] = &$node; ) ) return $tree; ) //Získejte připravené pole s daty $cat = getCat($mysqli); //Vytvoření stromové nabídky $tree = getTree($cat); //Šablona pro zobrazení nabídky ve formě stromové funkce tplMenu($category)( $menu = "
  • ". $category["title"].""; if(isset($category["childs"]))( $menu .= "
      ". showCat($category["childs"]) ."
    ";) $menu .="
  • "; return $menu; ) /** * Přečtěte si naši šablonu rekurzivně **/ funkce showCat($data)( $string = ""; foreach($data as $item)( $string .= tplMenu($item); ) return $string; ) //Získat HTML značku $cat_menu = showCat($tree); //Zobrazit echo "
      ".$cat_menu."
    "; ?>

    Výsledek práce

    Víceúrovňové menu v PHP + MySQL pro administrátorský panel

    Chcete-li použít tuto nabídku na panelu správce vašeho webu, musíte přepsat několik funkcí tplMenu(), showCat().

    ".$category["title"].""; )else( $menu = " "; ) if(isset($kategorie["děti"]))( $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ýsledek práce

    Vyberte auta → Mazda →→ Mazda 3 →→→ Sedan →→→ Hatchback →→ Mazda 6 →→→ Liftback →→→ Crossover →→→→ Bílá →→→→ Červená → →→→ Černá →→→→ Zelená →→ Mazda CX →→ Mazda MX → Motocykly Honda → Kawasaki → Harley Boats

    Spusťte stažený soubor dvojitým kliknutím (musíte mít virtuální stroj).

    3. Anonymita při kontrole místa pro SQL injection

    Nastavení Tor a Privoxy v Kali Linuxu

    [Sekce ve vývoji]

    Nastavení Tor a Privoxy ve Windows

    [Sekce ve vývoji]

    Nastavení proxy v jSQL Injection

    [Sekce ve vývoji]

    4. Kontrola místa pro SQL injection pomocí jSQL Injection

    Práce s programem je velmi jednoduchá. Stačí zadat adresu webu a stisknout ENTER.

    Následující snímek obrazovky ukazuje, že web je zranitelný vůči třem typům injekcí SQL (informace o nich jsou uvedeny v pravém dolním rohu). Kliknutím na názvy injekcí můžete přepnout použitou metodu:

    Také se nám již zobrazily stávající databáze.

    Obsah každé tabulky si můžete prohlédnout:

    Nejzajímavější věcí na tabulkách jsou obvykle přihlašovací údaje správce.

    Pokud budete mít štěstí a data administrátora najdete, pak je ještě brzy na radost. Ještě musíte najít admin panel, kam tyto údaje zadat.

    5. Hledejte admin panely pomocí jSQL Injection

    Chcete-li to provést, přejděte na další kartu. Zde nás přivítá seznam možných adres. Pro kontrolu můžete vybrat jednu nebo více stránek:

    Pohodlí spočívá v tom, že nemusíte používat další programy.

    Bohužel není příliš mnoho neopatrných programátorů, kteří ukládají hesla v čistém textu. Dost často v řádku s hesly vidíme něco podobného

    8743b52063cd84097a65d1633f5c74f5

    Toto je hash. Můžete jej dešifrovat pomocí hrubé síly. A... jSQL Injection má vestavěný brute force.

    6. Hrubá síla hash pomocí jSQL Injection

    Nespornou výhodou je, že nemusíte hledat další programy. Existuje podpora mnoha nejoblíbenějších hashů.

    To není nejlepší možnost. Abyste se stali guru v dekódování hashů, doporučujeme knihu „“ v ruštině.

    Ale samozřejmě, když není po ruce jiný program nebo není čas na studium, velmi vhod přijde jSQL Injection s vestavěnou funkcí brute force.

    Existují nastavení: můžete nastavit, které znaky jsou součástí hesla, rozsah délky hesla.

    7. Operace se soubory po detekci SQL injekcí

    Kromě operací s databázemi - jejich čtení a úpravy, pokud jsou detekovány injekce SQL, lze provádět následující operace se soubory:

    • čtení souborů na serveru
    • nahrávání nových souborů na server
    • nahrání shellů na server

    A to vše je implementováno v jSQL Injection!

    Existují omezení - SQL server musí mít oprávnění k souboru. Správci chytrého systému je zakázali a nebudou moci získat přístup k systému souborů.

    Přítomnost oprávnění k souborům lze snadno zkontrolovat. Přejděte na jednu ze záložek (čtení souborů, vytvoření shellu, nahrání nového souboru) a pokuste se provést jednu ze zadaných operací.

    Ještě velmi důležitá poznámka – musíme znát přesnou absolutní cestu k souboru, se kterým budeme pracovat – jinak nebude fungovat nic.

    Podívejte se na následující snímek obrazovky:

    Na jakýkoli pokus o operaci se souborem obdržíme následující odpověď: Žádné oprávnění FILE(žádná oprávnění k souboru). A tady se nedá nic dělat.

    Pokud místo toho máte jinou chybu:

    Problém se zápisem do [název_adresáře]

    To znamená, že jste nesprávně zadali absolutní cestu, kam chcete soubor zapsat.

    Abyste mohli uhodnout absolutní cestu, musíte alespoň znát operační systém, na kterém server běží. Chcete-li to provést, přejděte na kartu Síť.

    Takový záznam (řádek Win64) nám dává důvod předpokládat, že máme co do činění s OS Windows:

    Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Připojení: Keep-Alive Metoda: HTTP/1.1 200 OK Obsah-Length: 353 Datum: Pá, 11. prosince 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; znaková sada=UTF-8

    Zde máme nějaký Unix (*BSD, Linux):

    Transfer-Encoding: chunked Date: Fri, 11 Dec 2015 11:57:02 GMT Method: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Connection: keep-alive Content-Type: text/html X- Běží na: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

    A tady máme CentOS:

    Metoda: HTTP/1.1 200 OK Platnost: Čt, 19. listopadu 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Připojení: 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 Datum: pá, 11. prosince 2015 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; znaková sada=WINDOWS-1251

    V systému Windows je typická složka pro weby C:\Server\data\htdocs\. Ale ve skutečnosti, pokud někdo „uvažoval“ o vytvoření serveru na Windows, pak tato osoba velmi pravděpodobně neslyšel nic o privilegiích. Proto byste měli začít zkoušet přímo z adresáře C:/Windows/:

    Jak vidíte, napoprvé vše proběhlo v pořádku.

    Ale samotné shelly jSQL Injection vzbuzují v mé mysli pochybnosti. Pokud máte oprávnění k souborům, můžete snadno něco nahrát pomocí webového rozhraní.

    8. Hromadná kontrola stránek pro SQL injekce

    A dokonce i tato funkce je dostupná v jSQL Injection. Vše je velmi jednoduché - stáhněte si seznam stránek (lze importovat ze souboru), vyberte ty, které chcete zkontrolovat, a kliknutím na příslušné tlačítko spusťte operaci.

    Závěr z jSQL Injection

    jSQL Injection je dobrý, výkonný nástroj pro vyhledávání a následné použití SQL injekcí nalezených na webových stránkách. Jeho nepochybné výhody: snadné použití, vestavěné související funkce. jSQL Injection může být nejlepším přítelem začátečníka při analýze webových stránek.

    Mezi nedostatky bych poznamenal nemožnost editace databází (alespoň jsem tuto funkcionalitu nenašel). Jako u všech nástrojů GUI lze jednu z nevýhod tohoto programu připsat jeho nemožnosti použití ve skriptech. Nicméně určitá automatizace je možná i v tomto programu - díky vestavěné funkci hromadného skenování stránek.

    zavedený vzorek a osvědčení. Za speciální slevu na jakékoliv fakulty a kurzy!

    V předminulém článku na blogu jsem psal o zajímavých inovacích nejnovější verze WordPressu – speciálním mechanismu pro vytváření a správu . Nyní je pro běžné uživatele mnohem pohodlnější a snazší vytvářet menu různé složitosti, která se mohou skládat nejen ze stránek nebo kategorií blogů, ale mohou obsahovat i odkazy na libovolné URL. Pro zobrazení menu v šabloně se používá speciální funkce wp_nav_menu - dnes vám o tom povím.

    Pokud v adminu WordPressu není žádná sekce menu, můžete ji aktivovat přidáním speciálního kódu do souboru functions.php

    Zde je nejprve název menu, které jsme vytvořili. Jedná se o použití funkce v obecném případě bez widgetů, tam s nimi budete muset pracovat trochu jinak. Funkce wp_nav_menu však může být zobrazena bez argumentů, v důsledku čehož budou „prohledány“ různé situace - nejprve shoda podle názvu nabídky, pokud je pro ni zadána alespoň jedna položka nabídky, jinak neprázdná nabídka se jednoduše zobrazí atd. . Ale znovu vám radím, abyste jednoduše použili výše uvedený kód a nezjišťovali, co má funkce bez argumentů vypsat. Jeho syntaxe je následující:

    Používají se zde následující parametry:

    $menu— vybraný identifikátor nabídky — ID, slug nebo název nabídky.

    $kontejner- Při použití tohoto nastavení je nabídka UL ve výchozím nastavení „zabalena“ do kontejneru DIV.

    $container_class— označuje třídu kontejneru, ve výchozím nastavení je jeho hodnota menu-(menu slug)-container, to znamená, že v našem případě bude například třída menu-first-container.

    $container_id— do kontejneru můžete přidat ID, které není ve výchozím nastavení zadáno.

    $menu_class— třída pro prvek menu UL, jeho hodnota je menu.

    $menu_id— ID prvku ul, výchozí je menu-(slug)

    $echo— pokud nechcete zobrazit nabídku, ale vrátit hodnotu funkce, použijte pro toto nastavení hodnotu 0.

    $fallback_cb— pokud nabídka neexistuje, zavolá se funkce wp_page_menu.

    $předtím— nastaví text, který se zobrazí před odkazem A.

    $link_before— zobrazí frázi před textem odkazu, neuvedeno.

    $link_after— zobrazeno za textem odkazu, také prázdné.

    $hloubka— nastavuje počet úrovní hierarchie pro zobrazení nabídky, výchozí hodnota 0 zobrazuje celou nabídku.

    $chodec- nějaký druh nepochopitelného vlastního „chodeckého objektu“, pravděpodobně více potřebný pro pokročilé vývojáře.

    $theme_location— umístění motivu, kde bude nabídka použita, musí být aktivována pomocí register_nav_menu(), aby si ji uživatel mohl vybrat. Také jakési ne zcela jasné nastavení, zřejmě při práci s widgety.

    Příklady použití funkce wp_nav_menu

    Nejjednodušší kód uvedený v kódu je:

    Odebrání kontejneru DIV z nabídky

    "")); ?>

    Při vytváření a správě nabídky WordPress 3.0 v zásadě není nic složitého. Vývojáři výrazně zjednodušili pracovní postup a rozšířili možnosti tohoto navigačního prvku. Řešení se často používá v různých úlohách šablon, například při vytváření pro mobilní a desktopové verze. O něco později přidám pár dalších úryvků k tématu.

    P.S. Hlídat. Zajímavý a užitečný blog pro webmastery o SEO, kde najdete odpovědi na své otázky ohledně SEO.
    Společnost Aweb se dlouhodobě velmi dobře etabluje v oblasti propagace webových stránek, optimalizace a propagace vyhledávačů na internetu.

    Protože odhaluje obsah modulu menu.php. Níže představíme vlastní vývoj menu v PHP, který byl napsán od nuly v poznámkovém bloku.

    Tento kód bude užitečný zejména pro dynamické weby, které mají vlastní motory. Nabídnu dvě možnosti kódu, které mají drobné rozdíly (rozdíly budou vysvětleny později).

    Pro začátek uvedu přibližnou strukturu webu, pro který je toto menu vhodné. Struktura webu by měla vypadat takto (klasické zobrazení):

    /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 také obsahovat podsekce pro sekce:

    /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

    Tato struktura bude fungovat i pro naše menu s malými rozdíly.

    Navrhuji vytvořit samostatný soubor pro menu v php. Například menu.php by byl skvělý název pro takový soubor. Pro implementaci nabídky je k dispozici také styl nabídky v CSS, aby byla okamžitě více či méně krásná. Přirozeně je tento styl uveden pouze pro informaci, protože design stránek je velmi odlišný.

    Kód pro stylování nabídky 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 ( barva:#FFF; display:block; line-height:42px; text-decoration:none; padding:0 14px; ) .menu a:hover ( background:url(images/spacer.png) repeat ;)

    Nyní se podíváme na první možnost implementace menu v PHP, která je trochu zjednodušená.

    První verze kódu menu v PHP

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

    Menu lze rozdělit na dvě části. První obsahuje informační pole $array_menu, které obsahuje názvy našich sekcí s odkazy na sekce. Existuje možnost zadat tato data do databáze mySQL, ale v tom není žádný zvláštní bod, protože vzorek je velmi malý, takže to neovlivní rychlost práce.

    Druhá část obsahuje výstup nabídky pomocí cyklu for. Cyklus porovná adresu webu s adresou z pole $array_menu. Pokud existuje shoda, zobrazíme další sekci nabídky se speciální aktivní třídou:

  • , jinak jen
  • . To nám umožňuje zvýraznit nějakou barvou tu část menu, ve které se uživatel nachází. Podle mého názoru je to nezbytná věc pro jakýkoli web, aby uživatel pochopil, ve které sekci se nachází.

    Pořadí v poli bude zachováno při zobrazení nabídky na webu. To znamená, že pole musí být vyplněno v pořadí, v jakém má být nabídka zobrazena.

    Poznámka:
    Pokud adresy URL (adresy) nadpisů sekcí vypadají takto:
    /sekce 1
    nebo takhle
    /razdel_1/nazvanie_razdela.html
    pak musíte napsat přesnou shodu do pole_menu:
    $array_menu[$i]["url"]="/razdel_1"
    nebo pro druhý případ:
    $array_menu[$i]["url"]="/razdel_1/nazvanie_razdela.html";

    Jak funguje první možnost nabídky?
    Zvýrazňuje nabídku pouze v případě, že jste na adrese záhlaví sekce. Pokud je například adresa stránky /razdel_1/articles_1.html, pak nebude nabídka nijak zvýrazněna.

    Druhá verze kódu je upravenou verzí prvního a poskytuje možnost zvýraznit nabídky i v článcích, které jsou umístěny v sekcích.

    Druhá verze kódu menu v PHP

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

    Pokud vás zajímá odpověď na otázku, jak vytvořit menu webu, pak jste na správné adrese.

    Podíváme se na vytvoření dynamického menu v PHP, napsaného speciálně pro programování figurín, stejně jako pro ty, kteří jsou stále v nádrži.

    Lekce 3. Tvorba menu v php pro dynamický web - pro figuríny

    Pojďme vytvořit budoucí vzhled našeho webu. Za tímto účelem nakreslíme super krásný web ve Photoshopu a rozřežeme ho na kousky. Představme si, že záhlaví, logo, menu a zápatí nejsou psány slovy, jako v tomto příkladu, ale jedná se o elegantně a barevně navržené prvky webu.

    Vytvořme si například tři stránky a nazvěme je Sekce 1, Sekce 2, Sekce 3

    Tento text se bude na různých stránkách lišit, ale nebudeme se s tím obtěžovat a necháme jej tak, jak je na všech stránkách.

    Začneme vytvářet web v PHP.

    1. Vyberte bloky záhlaví, loga, nabídky, zápatí do samostatných souborů s příponou php nebo html

    header.html

    logo.html

    menu.html

    zápatí.html

    Přidejme soubor s tímto textem, abychom jej viděli na všech stránkách. Zavolejme mu text.html

    Poznámka. Od této chvíle budu další záznamy vést přímo v kartotéce. text.html

    2. Vytvořme si šablonu pro náš web v PHP.

    K tomu uděláme jednoduchou věc – uložíme skutečný soubor, ale s příponou php a smažeme veškerý textový obsah. Sice to není odborné, ale dá se to pochopit, ale vše si zkomplikujeme později. Nyní je hlavní věcí pochopit princip rozvržení.

    3. Nyní nepotřebujeme soubor template.html.

    Díky němu máme představu, jak náš web bude vypadat.

    4. Naší šablonou je soubor template.php

    Nyní do něj vložíme všechny prvky webu pomocí příkazu include.

    5. Vytvořme tři stránky, jak jsme to původně chtěli udělat.

    Sekce 1, zavolejme 1.php

    Sekce 2, zavolejme 2.php

    Sekce 3, zavolejme 3.php

    K tomu můžete použít nejjednodušší příkaz uložit jako...

    Dovolte mi vysvětlit pro nejmenší: otevřete soubor šablona.php a poté stiskněte uložit jako... a uložte jej pod jménem 1.php, opakujte postup a uložte stránky webu postupně 2.php, 3.php

    Skončili jsme se 3 stránkami se stejným designem. Stačí jej vložit místo souboru text.html další, doplnit o různé obrázky nebo nějaké html kódy, skripty a obsah každé stránky bude jedinečný.

    Pozornost!

    Pokud soubor není vytvořen index.php pro hlavní stránku pak v prohlížeči zadáním adresy webu neuvidíme samotný web, ale pouze adresářovou strukturu (seznam složek).

    Můžete se podívat do Denveru a přesvědčit se sami. Pojďme situaci napravit – vytvořte soubor index.php a bez dalších řečí zavoláme Domov. Zároveň vytvoříme soubor text-home.html a pomocí příkazu zahrnout vložte jej na nově vytvořenou hlavní stránku webu.

    6. Jak zobrazit web v php?

    Jen neuvidíme, co se stalo. Toto již není šablona s příponou html.

    Ale taky to není problém. Potřebujeme vlastní, tzn. lokální server na vašem počítači. Za tímto účelem si nainstalujeme Denver a podíváme se na výsledek naší práce v prohlížeči, aniž bychom museli být online.

    Teď je to pořadí. Zadal jsem adresu webu a viděl jsem vše, co bylo právě vytvořeno, v normální podobě s designem.

    Nyní se podívejme na nabídku PHP stránek.

    1. Otevřete soubor menu.html a proměňte části 1, 2 a 3 na odkazy na webu. Odkazy v PHP se vytvářejí různými způsoby.

    Naším úkolem je naučit se vnímat stránky vytvořené v PHP. Proto uděláme odkazy jako na běžném statickém webu Sekce 1 atd.

    Absolutně miluji tento proces vytváření odkazů v Macromedia Dreamweaver. Mít čas sklízet OK a pít kávu.

    2. Jak učinit odkaz v menu neaktivním, pokud je návštěvník na této stránce.

    Pro návštěvníka bude pohodlnější pohybovat se po webu s vědomím, na které stránce se nachází.

    Pokud jste postupovali přesně podle všech kroků bod po bodu, uvidíte, že všechny odkazy v nabídce jsou vždy aktivní. jak to opravit?

    Nejprve si připomeňme definici toho, co to je Podmíněné výroky

    – to je, když je nebo není provedena nějaká akce v závislosti na podmínkách.

    Udělejme následující:

    • Budeme potřebovat proměnné a jeden podmíněný operátor:

    if ($master == "Hlavní")// tato podmínka. Pokud je spuštěn, pak se na toto místo nabídky pomocí příkazu echo vloží běžné HTML značky, které zobrazují nápis „Home“.

    echo"

    Domov

    ";

    jiný// znamená „jinak“ - co se stane, když podmínka nebude splněna. V tomto případě, pokud podmínka není splněna, bude nápis „Domů“ odkazem vedoucím na hlavní stránku.

    echo"

    Domov

    ";

    • Vymysleli jsme podmínku, ale tak kontrolní proměnnámusíte se na to zeptat.

    Za tímto účelem umístíme na všechny stránky následující bloky kódu:

    $master = "Hlavní";

    $master = "Sekce 1";

    $master = "Sekce 2";

    $master = "Sekce 3";

    Jak vidíte, každá stránka má svůj vlastní kód.

    Takže naše praktické kroky pro vytvoření nabídky PHP budou následující:

    1) Otevřete soubor index.php

    a vložte kód

    $master = "Hlavní";

    na místo, kam vložíte kód, který zobrazí samotnou nabídku webu zahrnout "menu.html";
    ?>

    2) Otevřete soubor menu.html a vložte kód s podmínkou místo jednoduchého html odkazu na hlavní stránku.

    Díváme se do prohlížeče a obdivujeme! Pokud přejdeme na hlavní stránku, odkaz již není aktivní!

    3) Opakujte body 1 a 2 se stránkami 1.php, 2.php, 3.php

    Opakování 1:

    1) Otevřete soubor 1.php a vložte před kód, který zobrazuje blok nabídky s danou proměnnou

    $master = "Sekce 1";

    2) Otevřete soubor menu.html a místo jednoduchého odkazu vložte kód s podmínkou Sekce 1, provádějící následující změny:

    if ($master == "Sekce 1")// tato podmínka. Pokud je spuštěn, pak se na toto místo nabídky pomocí příkazu echo vloží běžné HTML značky, které zobrazují nápis „Section 1“.

    echo"

    Sekce 1

    ";

    jiný// znamená „jinak“ - co se stane, když podmínka nebude splněna. V tomto případě, není-li podmínka splněna, bude nápis „Sekce 1“ odkazem vedoucím na hlavní stránku.

    echo"

    Sekce 1

    ";

    Zázrak se stal znovu! Nyní, pokud jsme na stránce Sekce 1, odkaz v menu není aktivní.

    Opakování je matka učení! Nebo pro ty v nádrži! Znovu

    Opakování 2

    1) Otevřete soubor 2.php a vložte kód.

    $master = "Sekce 2";

    2) Znovu otevřete soubor menu.html a vložte kód s podmínkou

    if ($master == "Sekce 2")// tato podmínka. Pokud je spuštěn, pak se na toto místo nabídky pomocí příkazu echo vloží běžné HTML značky, které zobrazují nápis „Section 2“.

    echo"

    Sekce 2

    ";

    jiný// znamená „jinak“ - co se stane, když podmínka nebude splněna. V tomto případě, není-li podmínka splněna, bude nápis „Sekce 2“ odkazem vedoucím na hlavní stránku.

    echo"

    Sekce 2

    ";

    Opakování 3

    1) Otevírací soubor 3.php a nastavte proměnnou.

    $master = "Sekce 3";

    2) Do souboru menu.html vložíme místo odkazu kód s podmínkou Sekce 3, změny jsou:

    if ($master == "Sekce 3")// tato podmínka. Pokud je spuštěn, pak se na toto místo nabídky pomocí příkazu echo vloží běžné HTML značky, které zobrazují nápis „Section 3“.

    echo"

    Sekce 3

    ";

    jiný// znamená „jinak“ - co se stane, když podmínka nebude splněna. V tomto případě, není-li podmínka splněna, bude nápis „Sekce 3“ odkazem vedoucím na hlavní stránku.

    echo"

    Sekce 3

    ";

    Sečteno a podtrženo: místo odkazů v tomto typu nabídky

    Domov


    Sekce 1

    Sekce 2


    Sekce 3

    Tato lekce o php byla napsána jako odpověď na četné požadavky návštěvníků webu a je praktickým průvodcem, jak se naučit vytvořit dynamické menu pro web v php.

    Další webmasterův cheat sheet vám řekne, jak vytvořit jedinečné názvy, popisy a klíčová slova pro každou stránku v PHP.

    Můžete si stáhnout archiv se všemi šablonami webu a soubory php menu. Doporučeno pro začátečníky v programování.

    Pokud jste připraveni vážně studovat PHP, pak je těžké najít lepší video kurz od Popova. Má spoustu zkušeností a dobrý styl.

    ]]> ]]>



  • 2024 | Počítače pro každého – nastavení, instalace, obnova