PHP skripty na spracovanie HTML formulárov. Vytváranie html stránok pomocou PHP

  • 18.06.2019

Naučil som sa veľa o tom, ako fungujú rámce MVC, keď som sa rozhliadol a študoval existujúce. Zdá sa, že každý rámec, ktorý vidím, má rozloženie, v ktorom má každá metóda v každom ovládači svoj vlastný súbor šablóny. Takže bude existovať vzor vstupu, vzor odchodu, register atď. Atď.

Moja otázka je, ako a prečo by ste mali vytvoriť šablónu pre celú stránku v jednom súbore. Povedzme, že ste chceli zobraziť prihlasovací formulár na viac ako jednej stránke, nepotrebujete vytvoriť prihlasovací formulár pre každú šablónu, ktorú chcete zobraziť? Nie je to proti pravidlám neopakovať sa (SUCHÉ)?

Spôsob, akým som to doteraz robil, je taký, že vytváram bloky písmen šablóny a potom ich spájam, aby som vytvoril každú stránku. Takže namiesto toho, aby ste urobili niečo takéto,

$title = "(!LANG:Blah Blah Blah"; $user = "Jon Miller"; include "index.phtml"; !} <?php echo $title; ?>

prihlasovací formulár


Urobil som to

$title = "(!LANG:Blah Blah Blah"; include "header.phtml"; $user = "Jon Miller"; include "user.phtml"; include "login_form.phtml"; include "footer.phtml"; header.phtml !} <?php echo $title; ?> user.phtml

login_form.phtml
prihlasovací formulár
footer.phtml

Ako vždy, len by som rád vedel, ako to urobiť správne, ako aj ako a prečo... Zdá sa, že je to proti pravidlu DRY.

4 odpovede

Jedno slovo: organizácia. Oddelenie každej časti stránky umožní každú z nich prezerať/upravovať samostatne. Tento jednoduchý koncept je veľmi užitočný. Napríklad každý v tíme, ktorý chce zvládnuť proces prihlásenia, môže ľahko zistiť, že je potrebné upraviť súbor login_form.phtml a môže si byť istý, že úprava súboru login_form.phtml bude menej pravdepodobná, že by neúmyselne zasahovala do iných funkcií.

Ako najlepšie, tu je návod, ako to robím (nie presne, ale vyzerá to tak).

$Title = "(!LANG:Blah Blah Blah"; $User = "Jon Miller"; $ThemeName = "MyGreenPage"; $Contents = array("User", "Login_Form"); function Include($FileName) { if (file_exists($FileName)) include $FileName; } !}

MyGreenPage.phtml:

<?php echo $title; ?>

User.pcss:

/* Niektoré štýly potrebné používateľom */

user.pjs:

/* Používateľ potrebuje nejaký skript */

User.phtml:

Login_Form.pcss:

/* Niektoré štýly potrebné pre Login_Form */

Login_Form.pjs:

/* Prihlasovací_formulár potrebuje nejaký skript */

login_form.phtml:

prihlasovací formulár

Dovoľte mi zopakovať, že to nie je to, čo robím (že používam OOP), takže to nemusí fungovať presne tak, ako to je, a možno ho budete musieť upraviť.

Mali by ste si pozrieť koncepty rozložení a zobraziť pomocníkov. Aj keď som spojený s verziou týchto konceptov Zend Framework, mali by ich mať aj iné rámce MVC (a koncept MVC).

Základnou myšlienkou je, že vaša „zobrazovacia“ stránka – napríklad prihlasovací formulár – je zahrnutá do rozloženia vašej lokality – spoločná šablóna, ktorá sa používa na celom vašom webe. Keď požiadate o iný ovládač s iným zobrazením – napríklad s profilom používateľa – toto zobrazenie je tiež zahrnuté v rovnakom rozložení.

Ak chcete na všetkých stránkach povoliť niečo ako prihlasovací formulár, môžete použiť pomocníka zobrazenia. Tento pomocník zobrazenia môže zobraziť aktuálneho používateľa alebo zobraziť prihlasovací formulár v závislosti od stavu prihlásenia. Pomocníkov zobrazenia možno zahrnúť do rozloženia alebo ich povoliť špecifický ovládač (pokiaľ rámec MVC umožňuje určitý druh segmentov vykresľovania).

Dvojkroková metóda „zahrnutia“ funguje lepšie ako lineárne zahrnutie častí (vrátane hlavičky, potom obsahu a potom päty – čo práve robíte), pretože vaše šablóny nepotrebujú oddeľovať značky HTML. . Sprievodca Zend má pekný vizuálny príklad šablón zobrazenia v rozložení.

Najbežnejším spôsobom vytvárania šablón HTML pomocou PHP je použitie jednej z týchto populárnych šablón:

Do kódu HTML môžete tiež vložiť zástupné symboly, ktoré vyzerajú ako<% variablename %>. Stačí nahrať svoj HTML kód, zadať regulárny výraz, nájsť všetky zástupné symboly a nahradiť ich príslušnými premennými.

Prípadne môžete načítať svoj HTML a analyzovať ho ako dokument DOM a potom zmeňte svoj DOM. Vytvoril som knižnicu

V tomto článku vám nepoviem, prečo sú webové stránky potrebné a aké peniaze s nimi môžete zarobiť. Tu som len chcel hovoriť o rozdieloch medzi stránkami vytvorenými pomocou rôznych nástrojov.

Predstavte si typickú stránku HTML

Na jednej strane si zoberieme bežnú HTML stránku, ktorá je v podstate statická. Jednoducho povedané, existuje množstvo stránok s informáciami, ktoré sú prepojené odkazmi. Zvyčajne na takejto lokalite nie je príliš veľa stránok, aj keď existujú výnimky.


A na takýchto stránkach je málo stránok, pretože keď sa takáto stránka začne rozrastať, správa sa stáva veľmi nepohodlnou. Z tohto dôvodu človek buď prestane stránku úplne sledovať, alebo sa pokúsi použiť nejaký redakčný systém (CMS). Existujú aj ľudia, ktorí sa snažia naučiť programovacie jazyky pre WEB, aby sa ich stránka stala automatizovanou a teda pohodlnejšou na správu.

Ako však ukazuje skúsenosť, len málo z nich sa s touto úlohou vyrovná a ich stránky naďalej rastú a rozvíjajú sa.

A čo všetci ostatní?

Niekto sa hrabe na internete, niekto sa snaží kúpiť papierové knihy. Ale bez základných znalostí o štruktúre takýchto programovacích jazykov, bez pochopenia základov vytvárania stránok, takéto pokusy väčšinou nekončia ničím.

Na druhej strane sa pozrime na stránku, ktorá bola vytvorená pomocou množstva obyčajného HTML a jednoduchého programovacieho jazyka pre web – PHP.

Najdôležitejší rozdiel medzi touto stránkou a predchádzajúcou je v tom, že takáto stránka môže byť vytvorená ako konštruktor z blokov. Urobili sme hlavičku stránky – umiestnili ju do samostatného súboru, urobili ľavý blok s navigáciou na stránke – umiestnili do samostatného súboru atď.

Čo nám to dáva?

Dáva slobodu. Tie. teraz môžeme tieto bloky pripojiť k hlavnému rámcu a aj keby sme nakoniec mali na webe 10 000 stránok a zrazu by sme potrebovali zmeniť nejaký navigačný prvok, tak v tom nebude nič ťažké. Otvorte súbor s požadovaným blokom, upravte ho a je to! Na všetkých 10 000 stranách sa táto zmena udiala v okamihu.

Okrem toho všetky užitočné informácie (články, popisy tovarov a služieb, lekcie, poznámky atď.) takejto stránky môžu byť uložené v databáze, čo poskytuje ešte viac výhod:

- Stránka zaberá menej miesta;
- Zjednodušené zálohovanie dát;
— Uľahčuje zmenu akýchkoľvek údajov;
- Je možné počítať akékoľvek informácie (koľkokrát bola stránka zobrazená, stiahnutý súbor, pridané komentáre atď.);
- Na stránke môžete použiť množstvo hotových PHP skriptov;
- atď.

HTML alebo PHP

Ak nakreslíme analógiu medzi HTML a PHP stránkami s autami, tak tak, ako sa moderné autá stali pohodlnejšími, výkonnejšími, funkčnejšími a zároveň začali spotrebovávať menej paliva ako ich náprotivky spred 50 rokov, PHP stránka sa stala ľahšou, funkčnejšou, ľahšie spravovateľnou a mobilnejšou ako jej HTML protivník.

Žiaľ, v rámci jedného článku nie je možné úplne pokryť túto tému, ale myslím si, že aj z bodov, ktoré som tu popísal, môžete usúdiť, ktorú stránku je najlepšie vytvoriť, aby ste išli s dobou a získali slušná návratnosť investícií do tvorby.stránka s úsilím.

Jevgenij Popov- Autor 22,5 hodinového videokurzu „Všetky technické momenty online podnikania vo formáte videa 2 alebo PHP + MySQL pre začiatočníkov“, v ktorom je celý proces vytvárania PHP stránky od začiatku zobrazený priamo na obrazovke vášho počítača s hlasovým vysvetlením.

PHP je vstavaný programovací jazyk na strane servera. Veľká časť jeho syntaxe je prevzatá z jazykov C, Java a Perl. Tiež pridané niekoľko jedinečných funkcií špecifických pre PHP. Hlavným účelom tohto jazyka je vytvárať dynamicky generované PHP HTML stránky.

PHP do HTML

Pri vytváraní zložitých webových stránok budete musieť skombinovať PHP a HTML, aby ste splnili špecifické úlohy. Na prvý pohľad sa to môže zdať komplikované, keďže PHP a HTML sú dve nezávislé disciplíny, ale nie sú. PHP je navrhnuté na interakciu s HTML a jeho kód môže byť zahrnutý do označenia stránky.

PHP kód je súčasťou HTML stránok pomocou špeciálnych značiek. Keď používateľ otvorí stránku, server spracuje kód PHP a potom odošle výsledok spracovania (nie PHP kód) do prehliadača.

HTML a PHP sa dajú veľmi ľahko kombinovať. Akákoľvek časť skriptu PHP mimo značiekje ignorovaný kompilátorom PHP a odovzdaný priamo prehliadaču. Pri pohľade na nižšie uvedený príklad môžete vidieť, že úplný PHP skript môže vyzerať takto:

ahoj dnes.

Vyššie uvedený kód je obyčajný HTML s malým úryvkom PHP, ktorý zobrazuje aktuálny dátum pomocou vstavanej funkcie dátumu. V tomto prípade budú všetky HTML ignorované kompilátorom PHP a odovzdané prehliadaču nezmenené.

Integrácia PHP do HTML je naozaj veľmi jednoduchá. Pamätajte, že skript je stránka HTML s nejakým PHP kódom. Je možné vytvoriť skript, ktorý bude obsahovať iba HTML (bez značiek) a bude to fungovať dobre.

Pokročilejšie metódy:

  • Položka menu


a výsledok:

PHP na HTML s short_open_tag

Ak potrebujete pred vložením HTML do PHP zachovať čo najkratší kód, môžete použiť short_tags . V dôsledku toho nebude potrebné vstupovaťshort_tags"s" Vypnuté"na" Zapnuté". Aj keď je toto nastavenie už na väčšine serverov povolené, vždy je najlepšie ho skontrolovať manuálne. Problém, ktorý môže nastať pri používaní krátkych značiek, je konflikt pri používaní XML. V XML výraz syntaxe

PHP na HTML s short__tag

Dobrý deň, dnes je.

Majte na pamäti, že ak chcete vytvoriť stránku, ktorá je kompatibilná s maximálnym počtom platforiem, nemali by ste sa pri vkladaní PHP do HTML spoliehať na short_tags.

HTML do PHP pomocou echo

Ďalším spôsobom, ako integrovať HTML do súboru PHP, je príkaz echo:.

To ovplyvní zvýraznenie značiek vo väčšine editorov. Preto je potrebné všetky dvojité úvodzovky vo vnútri HTML kódu uzavrieť spätnou lomkou.

PHP na HTML - prípony súborov

Pre predvolený webový server:

AddHandler cgi-script .html .htm

Pre webový server so systémom FastCGI:

AddHandler fcgid-script .html .htm

HTML do PHP

HTML kód môžete použiť aj v PHP skriptoch. Stačí, ak pri otvorení stránky pomocou PHP zmeníte poradie otváracích značiek HTML a PHP.

Použitie HTML v PHP:

Osobné informácie

Krstné meno:
priezvisko:
"; ?>

Toto vloženie PHP do HTML umožňuje použiť oveľa menej kódu. Tu globálne používame $PHP_SELF, čo nám umožňuje používať hodnoty polí uvedené pod nimi v rovnakom súbore. Spravidla sa pre takéto formuláre vytvárajú dva súbory: prvým je samotný HTML formulár a druhým je súbor PHP, ktorý vykonáva spracovanie.

Ak už máte zložité PHP aplikácie, ktoré používajú veľa súborov a chcete si to zjednodušiť, táto metóda vám môže pomôcť.

Preklad článku „PHP v HTML“ pripravil priateľský tím projektu.

Od autora: PHP alebo HTML - čo je lepšie? Nikdy sa takto nepýtajte profesionála. Po prvé, v jeho očiach okamžite „spadnete“ na úroveň úplného „čajníka“. A za druhé ... Takáto otázka môže vzniknúť len pri kompletnej „čajovej službe“. Nuž a dnes tu máme „čajový večierok“ venovaný tejto zvláštnej téme.

Kuracie mäso, vajce - kto je prvý?

Netreba sa na tento titulok pozerať takýmito očami. Verte mi, otázka priority medzi hypertextovým jazykom a pre mňa tiež vyzerá trochu zastrašujúco. Prečo tak? No, pretože toto nie je prvýkrát, čo sme sa stretli, a naozaj dúfam, že takéto otázky nemáte. Ale aj tak, poďme na to prísť!

Po prvé, poďme zistiť, čo je moderná stránka. Aby ste dlho „nečmuchali“ dookola, ihneď informácie. Teraz je akýkoľvek webový zdroj vytvorený pomocou štyroch technológií:

HTML - slúži (ako predtým) na označenie stránok do jednotlivých prvkov.

Za vzhľad stránky zodpovedá CSS.

JavaScript - poskytuje interakciu UI (používateľské rozhranie) s osobou.

PHP - poskytuje dynamickú tvorbu zdrojov a všetky z toho plynúce "následky": CMS, pluginy pre ne atď.

Áno, skoro som zabudol na MySQL. Toto je DBMS. Myslíš, že si robím srandu? No nie! Ide len o to, že máme takú „čajovú“ tému – ako sa HTML líši od PHP. Za tieto otázky by som dal Shnobelove ceny (také sú).

Skúste vyhodiť jednu z uvedených súčastí moderného webu a získate nie dynamický zdroj, ale sotva „tkaný“ statický horor. Najmä ak sa zbavíte .

Rozdiely v príkladoch

Ústne argumenty o priorite a rozdiele medzi týmito dvoma disciplínami možno podávať donekonečna. Je lepšie pochopiť rozdiely medzi PHP a HTML pomocou konkrétnych príkladov. Poďme zistiť, v ktorej z možností bude jednoduchšie zmeniť farbu pozadia.

Existuje veľmi populárny motor s názvom WordPress. Beží na PHP. Pre porovnanie si zoberme označenie bežnej webovej stránky a skúsme na nej zmeniť farbu pozadia. Potom to isté implementujeme pomocou administračného panela CMS.

Aby ste lepšie pochopili rozdiel medzi HTML a PHP, skúste v tomto kóde nájsť riadok, ktorý je zodpovedný za farbu pozadia. Hneď vám poviem, že tu nie je. Túto vlastnosť štýlu (background-color) je potrebné nastaviť. Musíte tiež vedieť, kam ho pridať. A celý web nepozostáva z jednej stránky, ale z desiatok.

Teraz urobme to isté prostredníctvom administračného panela WordPress. Aby sme to dosiahli, musíme prejsť do vizuálneho editora stránok a stlačením niekoľkých tlačidiel zmeniť príslušný parameter v nainštalovanej téme.

Pri práci na aktualizácii stránok som si všimol môj starý layout, keď som ešte nebol oboznámený s php. Vzhľadom na získané skúsenosti sú viditeľné nevýhody starej metódy rozloženia, keď HTML rámuje PHP a nie je v ňom.

Bohužiaľ som nenašiel nič zaujímavé na túto tému, aby som si prečítal, ako je stále lepšie vysádzať. Vzhľadom na moderný kód rozloženia som si však čoraz viac všimol, že html sa takmer vždy nachádza vo vnútri štruktúr php. A to má významné výhody.

Na výhody HTML v PHP sa pozriem na príklade zobrazenia nadpisu vo WordPress.

Nižšie je konštrukcia z kódu nasledujúceho typu: ak sú v určitom ľubovoľnom poli údaje, zobrazíme hlavičku s týmito údajmi. Vzal som kód rozloženia v jeho pôvodnej podobe, ako bol predtým. Vyzeralo to takto:

< ! -- Title -- >

< h3 class = "archive-entry-title" itemprop = "name" > < a href = " " rel = "záložka" title = "(!LANG: !}" > ID , "name_rus" , true ) ) : ?>ID , "meno_rus" , pravda ); ?> < / a > < / h3 >

< ! -- Title End -- >

Tento návrh kódu má niekoľko nevýhod. Po prvé, nie je vizuálny - všetko je napísané v jednom riadku. Toto bolo urobené zámerne, aby medzi značkami H1, H2, H3 neboli žiadne prázdne miesta. Koniec koncov, nie je nič dobré mať medzery v názvoch značiek. Nie je možné predpovedať, ako to v tomto prípade medzi vyhľadávacími nástrojmi ovplyvní stránku. Či medzery navyše znížia silu názvu alebo nie. Vzhľadom na to, že na takúto otázku neexistujú žiadne odpovede, treba predpokladať to najhoršie. A preto je ťažké písať.

V opačnom prípade, v pokračovaní toho, čo bolo povedané, ak urobíme vyššie uvedený kód vizuálnym:

< ! -- Title -- >

< h3 class = "archive-entry-title" itemprop = "name" >

< a href = " " rel = "záložka" title = "(!LANG: !}" >

ID , "name_rus" , true ) ) : ?>

ID , "meno_rus" , pravda ); ?>

< / a >

< / h3 >

< ! -- Title End -- >

Potom pri prezeraní HTML kódu stránky v prehliadači v hlavičke značiek h3 uvidíme nasledovné:

Potrebujeme tiež, aby sa kód dal pri úprave ľahko čítať a potom by sa mal pri načítaní stránky aj zobrazovať spolu. Totiž, aby to vyzeralo takto:

Ak to chcete urobiť, použite PHP a zabaľte doň celý html kód. A získame nasledujúci php kód pre hlavičku WordPress:

< ! -- Title -- >