Upute za korištenje jSQL Injection, multifunkcionalnog alata za pronalaženje i iskorištavanje SQL injekcija u Kali Linuxu. Višeslojni meni u PHP-u i MySQL-u Inurl php vlastiti meni igre ID

Nijedna web stranica nije potpuna bez navigacije ili, kako je još nazivaju, „menija web mjesta“. Dakle, meni stranice može biti na jednom nivou ili na više nivoa u obliku stabla. Ako nema posebnih poteškoća u smislu implementacije s menijem na jednom nivou, onda kada kreirate meni na više nivoa, morate pažljivo razmisliti.

Najvažnija stvar u ovom zadatku je dizajn baze podataka za naš višeslojni meni. Kreirajmo tabelu kategorija sa tri polja id, naslov, roditelj gdje:

  • ID- identifikator
  • Naslov- Ime menija
  • Roditelj- Zadana kategorija roditelj 0

Polje je odgovorno za grananje menija Roditelj Ako Roditelj = 0, onda je ova kategorija nadređena kategorija. Da biste dodali potomke u kategoriju roditelja, potrebno je da navedete u roditeljskom polju ID pravog roditelja. Na primjer:

Tabele sa kategorijama

Kao što se može vidjeti iz tabele, kategorija roditelja Automobili postoje dva potomka - ovo je Mazda I Honda povezane po oblastima Roditelj. I kategorija Motocikli dva potomka su Kawasaki I Harley. Istovremeno, kategorija Čamci nema potomaka. Nadam se da razumijete kako povezati kategorije.

Zatim prelazimo sa riječi na praksu. Kreirajmo tabelu kategorija.

KREIRAJ TABELU AKO NE POSTOJI `kategorije` (`id` int(10) nepotpisan NOT NULL AUTO_INCREMENT, `naslov` varchar(255) NOT NULL, `roditelj` int(10) nepotpisan NOT NULL, PRIMARNI KLJUČ (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ; -- -- Dump podataka iz tabele `kategorije` -- UMETNI U `kategorije` (`id`, `naslov`, `roditelj`) VRIJEDNOSTI (1, "Automobili", 0), (2, "Motocikli", 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, "Čamci", 0), (12, "Liftback" , 8), (13, "Crosover", 8), (14, "Bijeli", 13), (15, "Crveni", 13), (16, "Crni", 13), (17, "Zeleni") , 13), (18, "Mazda CX", 3), (19, "Mazda MX", 3);

Algoritam rada se sastoji od sljedećeg:

Kreirajte vezu sa bazom podataka

query("SET NAMES "utf8""); /* * Ovo je "zvanični" objektno orijentisan način da se ovo uradi * međutim $connect_error nije funkcionisao sve do PHP verzija 5.2.9 i 5.3.0. */ if ($mysqli->connect_error) ( die("Greška veze (" . $mysqli->connect_errno . ") " . $mysqli->connect_error); ) /* * Ako trebate biti sigurni u kompatibilnost sa verzijama prije 5.2 .9, * bolje je koristiti ovaj kod */ if (mysqli_connect_error()) ( die("Greška veze (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); )

Pisanje funkcije za dobijanje podataka iz tabele Kategorije

//Nabavite niz našeg menija iz baze podataka kao funkciju niza getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Kreirajte niz gdje je ključ niza ID menija $cat = array(); while($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $ mačka;)

Dobijamo niz poput ovoga, gdje je ključ niza ID kategorije.

Funkcija izrade od punog drveta od Tommy Lacroixa

//Funkcija za izgradnju stabla iz niza iz Tommy Lacroix funkcije getTree($dataset) ( $tree = array(); foreach ($dataset kao $id => &$node) ( //Ako nema priloga ako ( !$node[" parent"])( $tree[$id] = &$node; )else( //Ako postoje djeca, onda ponovite niz $dataset[$node["parent"]]["childs "][$id] = &$ čvor; ) ) vrati $stablo; )

Dobijamo niz u obliku stabla

Cijela skripta

query("SET NAMES "utf8""); /* * Ovo je "zvanični" objektno orijentisan način da se ovo uradi * međutim $connect_error nije funkcionisao sve do PHP verzija 5.2.9 i 5.3.0. */ if ($mysqli->connect_error) ( die("Greška veze (" . $mysqli->connect_errno . ") " . $mysqli->connect_error); ) /* * Ako trebate biti sigurni u kompatibilnost sa verzijama prije 5.2 .9, * bolje je koristiti ovaj kod */ if (mysqli_connect_error()) ( die("Greška veze (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); ) //Nabavite niz našeg menija iz baze podataka kao funkcija niza getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Kreiraj niz gdje je ključ niza je ID menija $cat = array(); while ($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $cat; ) //Funkcija za pravljenje stabla iz niza iz Tommy Lacroix funkcije getTree($dataset) ( $tree = array(); foreach ($dataset kao $id => &$node) ( //Ako nema priloga if (!$node[ "parent"])( $tree[$id] = &$node; )else( //Ako postoje potomci, onda prođite kroz niz $dataset[$node["parent"]]["childs"][$ id] = &$node; ) ) return $tree; ) //Nabavite pripremljeni niz sa podacima $cat = getCat($mysqli); //Kreirajte meni stabla $tree = getTree($cat); //Šablon za prikaz menija u obliku funkcije stabla tplMenu($category)( $menu = "
  • ". $category["title"].""; if(isset($category["childs"]))( $menu .= "
      ". showCat($category["childs"]) ."
    "; ) $menu .="
  • "; return $menu; ) /** * Rekurzivno pročitajte naš šablon **/ funkcija showCat($data)( $string = ""; foreach($data kao $item)( $string .= tplMenu($item); ) return $string; ) //Nabavite HTML oznaku $cat_menu = showCat($tree); //Prikaži eho "
      ".$cat_menu."
    "; ?>

    Rezultat rada

    Višeslojni meni u PHP + MySQL za admin panel

    Ako želite da koristite ovaj meni u admin panelu vaše stranice, onda morate prepisati nekoliko funkcija tplMenu(), showCat().

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

    Rezultat rada

    Odaberite Automobili → Mazda →→ Mazda 3 →→→ Sedan →→→ Hatchback →→ Mazda 6 →→→ Liftback →→→ Crossover →→→→ Bijela →→→→ Crvena →→→ Crna →→→→ Zelena →→ Mazda CX →→ Mazda MX → Honda motocikli → Kawasaki → Harley Boats

    Pokrenite preuzetu datoteku dvostrukim klikom (potrebno je imati virtuelnu mašinu).

    3. Anonimnost prilikom provjere stranice za SQL injekciju

    Postavljanje Tor i Privoxy u Kali Linuxu

    [Odjeljak u razvoju]

    Postavljanje Tor i Privoxy na Windows

    [Odjeljak u razvoju]

    Proxy postavke u jSQL injekciji

    [Odjeljak u razvoju]

    4. Provjera stranice za SQL injekciju s jSQL injekcijom

    Rad sa programom je izuzetno jednostavan. Samo unesite adresu web stranice i pritisnite ENTER.

    Sljedeći snimak ekrana pokazuje da je stranica ranjiva na tri vrste SQL injekcija (informacije o njima su naznačene u donjem desnom kutu). Klikom na nazive injekcija možete promijeniti korišteni metod:

    Također, postojeće baze podataka su nam već prikazane.

    Možete pogledati sadržaj svake tabele:

    Obično je najzanimljivija stvar u vezi sa tabelama administratorski akreditivi.

    Ako imate sreće i nađete podatke administratora, onda je prerano za radovanje. Još uvijek morate pronaći admin panel gdje ćete unijeti ove podatke.

    5. Potražite admin panele sa jSQL injekcijom

    Da biste to učinili, idite na sljedeću karticu. Ovdje nas dočekuje lista mogućih adresa. Možete odabrati jednu ili više stranica za provjeru:

    Pogodnost leži u činjenici da ne morate koristiti druge programe.

    Nažalost, nema mnogo nemarnih programera koji čuvaju lozinke u čistom tekstu. Vrlo često u redu lozinke vidimo nešto slično

    8743b52063cd84097a65d1633f5c74f5

    Ovo je heš. Možete ga dešifrirati koristeći grubu silu. I... jSQL Injection ima ugrađeni brute forcer.

    6. Brute force hashovi koristeći jSQL injekciju

    Nesumnjiva pogodnost je što ne morate tražiti druge programe. Postoji podrška za mnoge od najpopularnijih hashova.

    Ovo nije najbolja opcija. Da biste postali guru u dekodiranju heševa, preporučuje se knjiga “” na ruskom.

    Ali, naravno, kada nema drugog programa pri ruci ili nema vremena za učenje, jSQL Injection sa svojom ugrađenom brute force funkcijom će dobro doći.

    Postoje postavke: možete podesiti koji znakovi su uključeni u lozinku, raspon dužine lozinke.

    7. Operacije datoteka nakon otkrivanja SQL injekcija

    Osim operacija s bazama podataka - čitanje i modificiranje istih, ako se otkriju SQL injekcije, mogu se izvršiti sljedeće operacije sa datotekama:

    • čitanje datoteka na serveru
    • učitavanje novih fajlova na server
    • učitavanje školjki na server

    I sve je to implementirano u jSQL Injection!

    Postoje ograničenja - SQL server mora imati privilegije datoteka. Pametni sistemski administratori su ih onemogućili i neće moći pristupiti sistemu datoteka.

    Prisutnost privilegija datoteka je prilično jednostavno provjeriti. Idite na jednu od kartica (čitanje datoteka, kreiranje ljuske, učitavanje nove datoteke) i pokušajte izvršiti jednu od navedenih operacija.

    Još jedna vrlo važna napomena - moramo znati tačnu apsolutnu putanju do datoteke sa kojom ćemo raditi - inače ništa neće raditi.

    Pogledajte sljedeći snimak ekrana:

    Na svaki pokušaj rada na fajlu, primamo sljedeći odgovor: Nema privilegija FILE(bez privilegija datoteka). I tu se ništa ne može učiniti.

    Ako umjesto toga imate drugu grešku:

    Problem sa pisanjem u [directory_name]

    To znači da ste pogrešno naveli apsolutnu putanju na koju želite da upišete datoteku.

    Da biste pogodili apsolutnu putanju, morate barem znati operativni sistem na kojem server radi. Da biste to učinili, prijeđite na karticu Mreža.

    Takav zapis (red Win64) daje nam razloga da pretpostavimo da imamo posla sa Windows OS:

    Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Veza: Keep-Alive Metod: HTTP/1.1 200 OK Dužina sadržaja: 353 Datum: pet, 11. decembar 2015. 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; charset=UTF-8

    Ovdje imamo neki Unix (*BSD, Linux):

    Transfer-Encoding: chunked Datum: pet, 11. decembar 2015. 11:57:02 GMT Metoda: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Veza: keep-alive Content-Type: text/html X- Powered-By: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

    I ovdje imamo CentOS:

    Metoda: HTTP/1.1 200 OK Ističe: čet, 19. novembar 1981. 08:52:00 GMT Set-kolačić: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Veza: Keep-alive X-Cache-Lookup: MISS sa t1.hoster.ru:6666 Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS od t1.hoster.ru Cache-Control: nema skladištenja, nema predmemorije, mora se ponovo potvrditi, post-check=0, pre-check=0 Pragma: nema predmemorije Datum: pet, 11. decembar 2015. 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251

    Na Windows-u, tipičan folder za web lokacije je C:\Server\data\htdocs\. Ali, u stvari, ako je neko "smislio" da napravi server na Windows-u, onda, vrlo verovatno, ta osoba nije čula ništa o privilegijama. Stoga, trebali biste početi pokušavati direktno iz C:/Windows/ direktorija:

    Kao što vidite, prvi put je sve prošlo kako treba.

    Ali same ljuske za jSQL injekciju izazivaju sumnje u mom umu. Ako imate privilegije za fajlove, onda možete lako da otpremite nešto preko web interfejsa.

    8. Grupna provjera lokacija za SQL injekcije

    Čak je i ova funkcija dostupna u jSQL injekciji. Sve je krajnje jednostavno - preuzmite listu stranica (može se uvesti iz datoteke), odaberite one koje želite provjeriti i kliknite na odgovarajuće dugme da započnete operaciju.

    Zaključak iz jSQL injekcije

    jSQL Injection je dobar, moćan alat za pretraživanje i zatim korištenje SQL injekcija koje se nalaze na web stranicama. Njegove nesumnjive prednosti: jednostavnost korištenja, ugrađene povezane funkcije. jSQL Injection može biti najbolji prijatelj početnika kada analizira web stranice.

    Među nedostacima bih istakao nemogućnost uređivanja baza podataka (barem ja nisam pronašao ovu funkcionalnost). Kao i kod svih GUI alata, jedan od nedostataka ovog programa može se pripisati njegovoj nemogućnosti da se koristi u skriptama. Ipak, moguća je i određena automatizacija u ovom programu - zahvaljujući ugrađenoj funkciji masovnog skeniranja sajta.

    utvrđeni uzorak i sertifikat. Za poseban popust na sve fakultete i kurseve!

    U pretprošlom članku na blogu pisao sam o zanimljivim inovacijama najnovije verzije WordPress-a – posebnog mehanizma za kreiranje i upravljanje . Sada je postalo mnogo praktičnije i lakše za obične korisnike da kreiraju menije različite složenosti, koji se mogu sastojati ne samo od stranica ili kategorija blogova, već imaju i veze do bilo kojeg URL-a. Za prikaz izbornika u predlošku koristi se posebna funkcija wp_nav_menu - o tome ću vam reći danas.

    Ako ne postoji odjeljak menija u WordPress adminu, možete ga aktivirati dodavanjem posebnog koda u datoteku functions.php

    Ovdje je prvo naziv menija koji smo kreirali. Ovo je upotreba funkcije u opštem slučaju bez widgeta; tamo ćete morati da radite sa njima malo drugačije. Međutim, funkcija wp_nav_menu može biti izlazna bez argumenata, zbog čega će se "pregledati" različite situacije - prvo, podudaranje po imenu menija, ako je za nju specificirana barem jedna stavka menija, u suprotnom izbornik koji nije prazan jednostavno će se prikazati itd. Ali opet, savjetujem vam da jednostavno koristite gornji kod i ne shvatite što bi funkcija bez argumenata trebala iskazati. Njegova sintaksa je sljedeća:

    Ovdje se koriste sljedeći parametri:

    $menu— odabrani identifikator za meni — ID, oznaka ili naziv menija.

    $container- UL meni je "umotan" u DIV kontejner prema zadanim postavkama koristeći ovu postavku.

    $container_class— označava klasu kontejnera, po defaultu njegova vrijednost je menu-(menu slug)-container, odnosno u našem slučaju, na primjer, postojaće klasa menu-first-container.

    $container_id— možete dodati ID kontejneru, koji nije naveden prema zadanim postavkama.

    $menu_class— klasa za UL element menija, njegova vrijednost je menu.

    $menu_id— ID za element ul, zadano na menu-(slug)

    $echo— ako ne želite da prikažete meni, ali vratite vrednost funkcije, koristite vrednost 0 za ovu postavku.

    $fallback_cb— ako meni ne postoji, poziva se funkcija wp_page_menu.

    $prije— postavlja tekst koji se prikazuje prije veze A.

    $link_before— prikazuje frazu ispred teksta veze, koja nije navedena.

    $link_after— prikazano iza teksta veze, takođe prazno.

    $depth— postavlja broj hijerarhijskih nivoa za prikaz menija; podrazumevana vrednost 0 prikazuje ceo meni.

    $walker- neka vrsta nerazumljivog prilagođenog "šetača" objekta, vjerovatno potrebnijeg naprednim programerima.

    $theme_location— lokacija teme na kojoj će se koristiti meni mora biti aktivirana preko register_nav_menu() kako bi korisnik mogao da je odabere. Takođe neka vrsta ne sasvim jasne postavke, očigledno, kada radite sa widgetima.

    Primjeri korištenja funkcije wp_nav_menu

    Najjednostavniji kod naveden u kodu je:

    Uklanjanje DIV kontejnera iz menija

    "")); ?>

    U principu, nema ništa komplikovano u kreiranju i upravljanju WordPress 3.0 menijem. Programeri su značajno pojednostavili radnu proceduru i proširili mogućnosti ovog elementa navigacije. Rješenje se često koristi u raznim zadacima predložaka, na primjer, prilikom kreiranja za mobilne i desktop verzije. Malo kasnije ću dodati još par isječaka na temu.

    P.S. Guard. Zanimljiv i koristan blog za webmastere o SEO-u, gdje ćete pronaći odgovore na vaša pitanja o SEO-u.
    Kompanija Aweb se odavno vrlo dobro etablirala u oblasti promocije web stranica, optimizacije i promocije na pretraživačima na Internetu.

    Zato što izlaže sadržaj modula menu.php. U nastavku ćemo predstaviti sopstveni razvoj menija u PHP-u, koji je napisan od nule u beležnici.

    Ovaj kod će biti posebno koristan za dinamičke stranice koje imaju prilagođene mehanizme. Ponudit ću dvije opcije koda koje imaju manje razlike (razlike će biti objašnjene kasnije).

    Za početak ću dati približnu strukturu stranice za koju je ovaj meni prikladan. Struktura stranice bi trebala izgledati ovako (klasičan pogled):

    /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

    Stranica također može sadržavati pododjeljke za odjeljke:

    /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

    Ova struktura će raditi i za naš meni sa samo manjim razlikama.

    Predlažem da napravite zasebnu datoteku za meni u php. Na primjer, menu.php bi bio odličan naziv za takvu datoteku. Za implementaciju menija, takođe je obezbeđen stil menija u CSS-u koji ga odmah čini manje ili više lepim. Naravno, ovaj stil je dat samo kao referenca, jer su dizajni sajtova veoma različiti.

    Kod za stiliziranje menija u CSS-u:

    .menu (visina: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 ( boja:#FFF; display:block; line-height:42px; text-decoration:none; padding:0 14px; ) .menu a:hover ( background:url(images/spacer.png) repeat ; )

    Sada, pogledajmo prvu opciju za implementaciju menija u PHP-u, koja je malo pojednostavljena.

    Prva verzija koda menija u PHP-u

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

    Meni se može podijeliti na dva dijela. Prvi sadrži informacijski niz $array_menu, koji sadrži imena naših sekcija sa vezama do sekcija. Postoji opcija da se ti podaci unesu u mySQL bazu podataka, ali u tome nema posebne poente, pošto je uzorak veoma mali, tako da to neće uticati na brzinu rada.

    Drugi dio sadrži izlaz menija kroz for petlju. Ciklus uspoređuje adresu stranice sa adresom iz niza $array_menu. Ako postoji podudaranje, prikazujemo sljedeći odjeljak izbornika sa posebnom aktivnom klasom:

  • , inače samo
  • . To nam omogućava da nekom bojom označimo dio menija u kojem se korisnik nalazi. Po mom mišljenju, ovo je neophodna stvar za svaku stranicu, kako bi korisnik mogao razumjeti u kojoj se rubrici nalazi.

    Redosled u nizu će biti sačuvan kada se meni prikaže na sajtu. Odnosno, niz mora biti popunjen redoslijedom kojim bi se meni trebao prikazati.

    Bilješka:
    Ako URL-ovi (adrese) naslova odjeljaka izgledaju ovako:
    /section_1
    ili ovako
    /razdel_1/nazvanie_razdela.html
    tada morate napisati tačno podudaranje u array_menu:
    $array_menu[$i]["url"]="/razdel_1"
    ili za drugi slučaj:
    $array_menu[$i]["url"]="/razdel_1/nazvanie_razdela.html";

    Kako funkcionira prva opcija menija?
    Ističe meni samo ako se nalazite na adresi zaglavlja odjeljka. Na primjer, ako je adresa stranice /razdel_1/articles_1.html, tada meni neće biti ni na koji način istaknut.

    Druga verzija koda je modificirana verzija prve i pruža mogućnost isticanja menija čak i u člancima koji se nalaze u odjeljcima.

    Druga verzija koda menija u PHP-u

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

    Ukoliko vas zanima odgovor na pitanje kako napraviti web meni, onda ste došli na pravu adresu.

    Pogledaćemo kreiranje dinamičkog menija u PHP-u, napisanog posebno za lutke programiranja, kao i za one koji su još uvek u rezervoaru.

    Lekcija 3. Izrada menija u php za web stranicu dinamički - za lutke

    Kreirajmo budući izgled naše web stranice. Da bismo to učinili, nacrtat ćemo super lijepu web stranicu u Photoshopu i izrezati je na komade. Zamislimo da zaglavlje, logo, meni i podnožje nisu napisani riječima, kao u ovom primjeru, već su to elegantno i šareno dizajnirani elementi stranice.

    Na primjer, napravimo tri stranice i nazovimo ih Odjeljak 1, Odjeljak 2, Odjeljak 3

    Ovaj tekst će se razlikovati za različite stranice, ali se nećemo zamarati time i ostavićemo ga na svim stranicama kakav jeste.

    Počnimo kreirati web stranicu u PHP-u.

    1. Odaberite blokove zaglavlja, logotipa, menija, podnožja u zasebne datoteke sa php ili html ekstenzijom

    header.html

    logo.html

    menu.html

    footer.html

    Hajde da dodamo fajl sa ovim tekstom tako da ga možemo videti na svim stranicama. Hajde da ga pozovemo text.html

    Bilješka. Od sada ću dalje zapise voditi direktno u dosijeu. text.html

    2. Kreirajmo šablon za našu web stranicu u PHP-u.

    Da bismo to uradili, uradićemo jednostavnu stvar - sačuvati pravu datoteku, ali sa php ekstenzijom i obrisati sav tekstualni sadržaj. Možda nije profesionalno, ali je razumljivo, ali kasnije ćemo sve zakomplikovati. Sada je glavna stvar razumjeti princip rasporeda.

    3. Sada nam ne treba datoteka template.html.

    Zahvaljujući njemu, imamo ideju kako će izgledati naš sajt.

    4. Naš šablon je template.php datoteka

    Sada ćemo u njega umetnuti sve elemente stranice pomoću naredbe include.

    5. Kreirajmo tri stranice, kao što smo hteli da uradimo u početku.

    Odjeljak 1, pozovimo 1.php

    Odjeljak 2, pozovimo 2.php

    Odjeljak 3, pozovimo 3.php

    Da biste to učinili, možete koristiti najjednostavniju naredbu sačuvaj kao...

    Da objasnim mališanima: otvorite fajl template.php, zatim pritisnite sačuvaj kao... i sačuvajte ga pod imenom 1.php, ponovite postupak i snimite stranice stranice uzastopno 2.php, 3.php

    Na kraju smo dobili 3 stranice sa istim dizajnom. Samo ga zalijepite umjesto datoteke text.html drugi, dopuniti različitim slikama ili nekim html kodovima, skriptama i sadržaj svake stranice će biti jedinstven.

    Pažnja!

    Ako datoteka nije kreirana index.php za glavnu stranicu, zatim u pretraživaču, upisivanjem adrese stranice, nećemo vidjeti samu stranicu, već samo strukturu direktorija (listu foldera).

    Možete pogledati u Denveru i uvjeriti se sami. Hajde da popravimo situaciju - kreiramo fajl index.php i nazovimo bez daljeg Dom. U isto vrijeme, napravimo fajl text-home.html i koristeći komandu uključiti ubacite ga na novokreiranu glavnu stranicu stranice.

    6. Kako pogledati web stranicu u php-u?

    Jednostavno nećemo vidjeti šta se dogodilo. Ovo više nije šablon sa html ekstenzijom.

    Ali nije ni problem. Trebamo svoje, tj. lokalni server na vašem računaru. Da bismo to učinili, instalirat ćemo Denver i pogledati rezultat našeg rada u pregledniku bez odlaska na internet.

    To je red. Ukucao sam adresu sajta i video sve što je upravo kreirano u normalnom obliku sa dizajnom.

    Hajde sada da pogledamo PHP meni na sajtu.

    1. Otvorite datoteku menu.html i pretvorite odjeljke 1, 2 i 3 u linkove na stranici. Linkovi u PHP-u se kreiraju na različite načine.

    Naš zadatak je da naučimo kako osjećati stranicu kreiranu u PHP-u. Zbog toga ćemo napraviti linkove kao na običnom statičkom sajtu Odeljak 1, itd.

    Apsolutno mi se sviđa ovaj proces kreiranja veze u Macromedia Dreamweaveru. Imaj vremena za žetvu uredu i popij kafu.

    2. Kako učiniti link u meniju neaktivnim ako je posjetitelj na ovoj stranici.

    Posjetiocu će biti zgodnije da se kreće po stranici znajući na kojoj se stranici nalazi.

    Ako ste slijedili sve korake striktno tačku po tačku, vidjet ćete da su svi linkovi u meniju uvijek aktivni. Kako to popraviti?

    Prvo, prisjetimo se definicije šta je to Uslovne izjave

    – to je kada se neka radnja izvrši ili ne izvrši u zavisnosti od uslova.

    Uradimo sljedeće:

    • Trebaće nam varijable i jedan uslovni operator:

    if ($master == "Glavni")// ovaj uslov. Ako se izvrši, onda se na ovo mjesto menija, pomoću komande echo, ubacuju obični HTML tagovi koji prikazuju natpis „Home“.

    eho"

    Dom

    ";

    ostalo// znači "inače" - šta će se desiti ako uslov nije ispunjen. U tom slučaju, ako uvjet nije ispunjen, natpis “Home” će biti link koji vodi na glavnu stranicu.

    eho"

    Dom

    ";

    • Smislili smo uslov, ali tako provjeri varijablumorate to pitati.

    Da bismo to učinili, postavit ćemo sljedeće blokove koda na sve stranice:

    $master = "Glavni";

    $master = "Odeljak 1";

    $master = "Odeljak 2";

    $master = "Sekcija 3";

    Kao što vidite, svaka stranica ima svoj kod.

    Dakle, naši praktični koraci za kreiranje PHP menija će biti sledeći:

    1) Otvorite datoteku index.php

    i zalijepite kod

    $master = "Glavni";

    na mjesto gdje ubacujete kod koji prikazuje sam meni stranice uključiti "menu.html";
    ?>

    2) Otvorite datoteku menu.html i umetnite kod sa uslovom umesto jednostavne html veze na glavnu stranicu.

    Gledamo u pretraživač i divimo se! Ako odemo na glavnu stranicu, link više nije aktivan!

    3) Ponovite tačke 1 i 2 sa stranicama 1.php, 2.php, 3.php

    Ponavljanje 1:

    1) Otvorite datoteku 1.php i umetnite ispred koda koji prikazuje blok menija sa datom promenljivom

    $master = "Odeljak 1";

    2) Otvorite datoteku menu.html i umetnite kod sa uslovom umjesto jednostavnog linka Odjeljak 1, praveći sljedeće izmjene:

    if ($master == "Odjeljak 1")// ovaj uslov. Ako se izvrši, onda se na ovo mjesto menija, pomoću naredbe echo, ubacuju obični HTML tagovi koji prikazuju natpis „Odjeljak 1“.

    eho"

    Odjeljak 1

    ";

    ostalo// znači "inače" - šta će se desiti ako uslov nije ispunjen. U tom slučaju, ako uvjet nije ispunjen, natpis “Odjeljak 1” će biti link koji vodi na glavnu stranicu.

    eho"

    Odjeljak 1

    ";

    Čudo se ponovo dogodilo! Sada ako smo na stranici Odjeljak 1, veza u meniju nije aktivna.

    Ponavljanje je majka učenja! Ili za one u rezervoaru! Opet

    Ponavljanje 2

    1) Otvori fajl 2.php i zalijepite kod.

    $master = "Odeljak 2";

    2) Ponovo otvorite datoteku menu.html i zalijepite kod sa uslovom

    if ($master == "Odjeljak 2")// ovaj uslov. Ako se izvrši, onda se na ovo mjesto menija, pomoću komande echo, ubacuju obični HTML tagovi koji prikazuju natpis „Odjeljak 2“.

    eho"

    Odjeljak 2

    ";

    ostalo// znači "inače" - šta će se desiti ako uslov nije ispunjen. U tom slučaju, ako uvjet nije ispunjen, natpis “Odjeljak 2” će biti link koji vodi na glavnu stranicu.

    eho"

    Odjeljak 2

    ";

    Ponavljanje 3

    1) Otvaranje fajl 3.php i postavite varijablu.

    $master = "Sekcija 3";

    2) U datoteku menu.html umjesto veze ubacujemo kod sa uslovom Odjeljak 3, promjene su:

    if ($master == "Odjeljak 3")// ovaj uslov. Ako se izvrši, onda se na ovo mjesto menija, pomoću komande echo, ubacuju obični HTML tagovi koji prikazuju natpis „Odjeljak 3“.

    eho"

    Odjeljak 3

    ";

    ostalo// znači "inače" - šta će se desiti ako uslov nije ispunjen. U tom slučaju, ako uvjet nije ispunjen, natpis “Odjeljak 3” će biti link koji vodi na glavnu stranicu.

    eho"

    Odjeljak 3

    ";

    Zaključak: umjesto veza u ovoj vrsti menija

    Dom


    Odjeljak 1

    Odjeljak 2


    Odjeljak 3

    Ova lekcija o php-u je napisana kao odgovor na brojne zahtjeve posjetitelja stranice i predstavlja praktičan vodič za učenje kako da kreirate dinamički meni za web lokaciju u php-u.

    Sljedeći webmasterov cheat sheet će vam reći kako da napravite jedinstvene naslove, opise i ključne riječi za svaku stranicu u PHP-u.

    Možete preuzeti arhivu sa svim datotekama predložaka stranice i php menija. Preporučeno za one koji se tek bave programiranjem.

    Ako ste spremni da ozbiljno proučavate PHP, onda je teško naći bolji video kurs od Popova. Ima puno iskustva i dobar stil.

    ]]> ]]>



  • 2024 | Računari za svakoga - Podešavanje, instalacija, oporavak