Creăm în php. PHP. Crearea dinamică a paginii. Cum arată codul PHP și unde să-l lipiți

Există un număr mare de site-uri web pe Internet. Toate aceste site-uri pot fi împărțite în două tipuri: statice și dinamice. Astăzi vom vorbi despre crearea paginilor dinamice, dar mai întâi aș vrea să vă spun ce este un site (pagină) static și dinamic.

Site-uri statice

Site-urile statice sunt formate din pagini web statice. Aceasta înseamnă că indiferent de ceea ce face utilizatorul, pagina arată întotdeauna la fel. Astfel de pagini sunt stocate pe server ca documente HTML. Paginile statice sunt aranjate manual. Dacă trebuie să modificați conținutul unei pagini, atunci trebuie să editați codul HTML pentru fiecare pagină.

Avantaje:

  • Simplitatea și ieftinitatea creării, nesolicitantă pentru resursele hardware;

Dezavantaje:

  • Timp mare alocat editării conținutului;
  • Nu este potrivit pentru proiecte mari.

Site-uri dinamice

Site-urile dinamice constau din pagini web dinamice care pot răspunde la acțiunile și schimbările utilizatorului. Astfel de pagini sunt formate de serverul web din mai multe fișiere (șabloane). Toate informațiile sunt stocate într-o bază de date. Când un utilizator solicită o pagină, informațiile relevante sunt preluate din baza de date, introduse în șablon pentru a forma pagina web și trimise de serverul web către browserul utilizatorului. Astfel, atunci când actualizați conținutul site-ului, trebuie doar să adăugați textul pentru pagina nouă, care este apoi introdus în baza de date folosind un anumit mecanism.

Avantaje:

  • Gestionarea conținutului se face prin formulare speciale în care puteți adăuga, edita și șterge cu ușurință informații;
  • Eficiență maximă la adăugarea de conținut nou pe site;
  • Când adăugați sau editați conținut, nu sunt necesare cunoștințe speciale de web-mastering (HTML, CSS);
  • Abilitatea de a crea proiecte mari multifuncționale;
  • Oportunități mari de promovare.

Dezavantaje:

  • Cost ridicat de creare și întreținere;
  • Trebuie să aveți cunoștințele adecvate pentru a menține performanța site-ului.

Acum cred că înțelegi că cel mai bine este să faci un site web folosind pagini dinamice. este cea mai bună și convenabilă alegere. Ei bine, acum să vorbim despre crearea paginilor dinamice.

Legături simple

Înainte de a învăța limbajul PHP, cred că ar trebui să cunoașteți deja HTML și bineînțeles să creați hyperlinkuri. Aș dori să vă reamintesc:

$link = "example.php"; imprimare"<а href = \"$link\">Un exemplu de hyperlink dinamic.
\n"

Acesta este cât de ușor este să creezi un hyperlink dinamic folosind limbajul php.

Procesul de creare a unei pagini dinamice

Procesul de creare a unei pagini dinamice constă în mai multe etape:

Așezarea cadrului paginii. Să numim pagina index.php - aceasta va consta din părți: antet (header), subsol (subsol), meniul din stânga (menu stânga). În acest exemplu, voi arăta cum este așezată o pagină bazată pe tabel, dar puteți folosi și o verstă bloc.

1. Formarea unui dosar header.php.

Pagina dinamică în PHP.

Antetul site-ului


2. Formăm un dosar meniu stânga.php.

  • Link 1
  • Legatura 2
  • Legatura 3
  • Link 4
  • Link 5

3. Formăm un dosar footer.php.

Subsolul site-ului


Creați un folder numit șablonîn care veți copia fișierele rezultate. Dacă trebuie să editați antetul, meniul din stânga sau subsolul site-ului, veți ști că șabloanele pentru aceste părți ale site-ului se află în acest folder.

Să conectăm fișierele primite (șabloane) la site folosind instrucțiunea include din exemplul paginii index.php.

Hei!

Aceasta este prima pagină dinamică în PHP.

Așa se face că pagina index.php este o pagină dinamică, ea va fi formată din mai multe fișiere (șabloane). Puteți crea orice număr de astfel de șabloane. Dacă trebuie să modificați orice parte a site-ului, găsiți fișierul șablon dorit și editați-l.

Aceasta completează crearea paginilor dinamice. Cred că înțelegeți semnificația și caracterul practic al site-urilor dinamice și, pe baza exemplului meu, puteți crea un proiect mare. Și nu uitați să comentați codul dvs. - este foarte important prieteni! Multă baftă!

P.S. Mici modificări din 07.06.2019:

Deoarece programarea evoluează mereu, trebuie să evolueze cu viteza luminii. Aspectul tabelar prezentat mai sus este puțin folosit în practică în zilele noastre și este necesar doar pentru studiul de către programatori începători.

Dacă doriți să creați site-uri web noi și eficiente, vă recomandăm să utilizați aspectul bloc în loc de aspectul tabelar. Să luăm în considerare mai detaliat.

Tabelele au fost inventate special pentru afișarea datelor tabelare și nu pentru marcarea elementelor paginii. Ce este în tabel:

text

poate fi reprezentat ca un aspect bloc (div):

text

ocupă mult mai puțin spațiu pe disc.

Luați în considerare avantajele aspectului bloc în comparație cu cel tabel:

  1. O reducere semnificativă a dimensiunii paginii, de obicei de 2-3 ori, care reduce semnificativ timpul de încărcare a site-ului. În același timp, dimensiunea fișierului va crește ușor, dar datorită faptului că acesta este memorat în cache o dată de browserul utilizatorului și este citit de pe computerul acestuia la accesarea altor pagini, ca urmare, site-ul se încarcă mult mai repede decât un unul tabelar.
  2. Este mult mai convenabil să schimbi designul paginilor site-ului, redate într-un fișier CSS. În acest caz, practic nu este nevoie să editați codul.
  3. Datorită posibilităților de aranjare a blocurilor, este posibil să ne asigurăm că conținutul principal al paginii merge mai întâi în cod și abia apoi în antet, coloanele din stânga și/sau din dreapta. Aspectul paginii nu se va schimba deloc.
  4. Transparența codului paginii bloc este plăcută vizual - nu există grămezi de etichete, totul este foarte frumos și compact.

Ultima actualizare: 1.11.2015

Acum vom crea un site mic, care este conceput pentru a oferi o înțelegere inițială a lucrului cu PHP.

Pentru a crea programe în PHP, avem nevoie de un editor de text. Cel mai popular program astăzi este Notepad++.

Să trecem la directorul creat anterior C:\localhost , care va stoca toate documentele site-ului. Să creăm un fișier text și să-i denumim index.html. Deschideți-l într-un editor de text și adăugați următorul cod la el:

Primul site în PHP

Introduceți detaliile dvs.:

Introdu numele tau:

Introduceți numele de familie:

Codul html conține un formular cu două câmpuri de text. Când se face clic pe butonul, datele formularului sunt trimise către scriptul display.php, așa cum este specificat în atributul acțiune.

Acum să creăm acest script care va procesa datele. Adăugați în dosar c:\localhost fișier text nou. Să-l redenumim în display.php. În mod implicit, fișierele de program php au extensia .php. Deci, să adăugăm următorul cod în fișierul display.php:

Primul site în PHP ".$nume ." " . $nume .""; ?>

Aici deja în marcajul html există pete de cod PHP. Etichetele sunt folosite pentru a adăuga expresii PHP la o pagină, între care există instrucțiuni în limbajul PHP. În codul php, primim datele formularului și le afișăm pe pagină.

Fiecare expresie PHP individuală trebuie să se termine cu punct și virgulă. În acest caz, avem trei expresii. Două dintre ele primesc datele din formularul trimis, de exemplu $name = $_POST["firstname"]; .

$name este o variabilă care va păstra o anumită valoare. Toate variabilele din PHP sunt precedate de semnul $. Și întrucât formularul de pe pagina index.html folosește metoda POST pentru a trimite, putem folosi expresia $_POST["firstname"] pentru a obține valoarea care a fost introdusă în câmpul de text cu atributul name="firstname" . Și această valoare intră în variabila $name.

Cu instrucțiunea echo, puteți afișa orice valoare sau text care vine după declarația de pe pagină. În acest caz (ecou „Numele tău: ".$nume ." " . $nume .""), folosind un punct, textul citat este concatenat cu valorile variabilelor $nume și $nume și afișat pe pagină.

Acum să trecem la formularul de introducere mergând la adresa http://localhost:8080:

Introduceți câteva date și faceți clic pe butonul de trimitere:

Deci, scenariul a funcționat pentru noi afișare.php, care a primit și a afișat datele transmise pe pagină.

Creați un fișier numit hello.php în directorul rădăcină al serverului web (DOCUMENT_ROOT) și scrieți următoarele în el:

Exemplul #1 Primul script PHP: hello.php



Testarea PHP


"

Salut Lume!

" ; ?>

Deschideți acest fișier într-un browser introducând numele serverului dvs. web și /hello.php. Când se dezvoltă local, acest link ar putea fi ceva de genul http://localhost/hello.php sau http://127.0.0.1/hello.php, dar depinde de setările serverului dvs. Dacă totul este configurat corect, acest fișier va fi procesat de PHP și browserul va afișa următorul text:

Test PHP

Salut Lume

Acest program este extrem de simplu și nici măcar nu trebuie să folosiți PHP pentru a crea o pagină atât de simplă. Tot ce face ea este deducerea Salut Lume folosind instrucțiunea PHP ecou. Vă rugăm să rețineți că fișierul nu trebuie să fie executabil sau altfel diferit de alte fișiere. Serverul știe că acest fișier ar trebui să fie procesat de PHP, deoarece fișierul are o extensie „.php”, despre care setările serverului spun că astfel de fișiere ar trebui să fie transmise către PHP. Gândiți-vă la el ca la un fișier HTML obișnuit care are norocul să aibă un set de etichete speciale (disponibile și pentru dvs.) care pot face o mulțime de lucruri interesante.

Dacă acest exemplu nu afișează nimic pentru dvs. sau afișează o fereastră de descărcare sau dacă vedeți întregul fișier sub formă de text, atunci cel mai probabil serverul dvs. web nu are suport PHP sau a fost configurat incorect. Solicitați administratorului dvs. de server să activeze acest suport. Oferiți-i instrucțiuni de instalare: secțiunea Instalare din această documentație. Dacă dezvoltați scripturi PHP acasă (local), atunci citiți și acest capitol pentru a vă asigura că aveți totul configurat corect. De asemenea, asigurați-vă că solicitați fișierul de la server prin protocolul http. Dacă tocmai deschideți un fișier din sistemul dvs. de fișiere, acesta nu va fi procesat de PHP. Dacă problemele persistă, nu ezitați să cereți ajutor de la una dintre chitanțele de asistență PHP.

Scopul exemplului este de a arăta formatul etichetelor speciale PHP. În acest exemplu am folosit ca etichetă de deschidere, urmată de comenzi PHP care se termină cu eticheta de închidere ?> . În acest fel, puteți să „săriți” și „săriți” din modul PHP oriunde în fișierul HTML. Puteți citi mai multe despre acest lucru în secțiunea Sintaxă de bază a manualului.

cometariu: O notă despre liniile noi

Întreruperile de linie înseamnă puțin în HTML, dar este o idee bună să păstrați HTML lizibil prin împachetarea lui pe o linie nouă. PHP elimină automat liniile noi imediat după eticheta de final ?> . Acest lucru poate fi extrem de util dacă utilizați multe blocuri de cod PHP sau includeți fișiere PHP care nu ar trebui să scoată nimic. În același timp, poate fi confuz. Puteți pune un spațiu după eticheta de închidere ?> și apoi spațiul va fi scos împreună cu linia nouă, sau puteți adăuga în mod specific o linie nouă la ultimul apel ecou/print din blocul de cod PHP.

cometariu: Câteva cuvinte despre editorii de text

Există multe editoare de text și medii de dezvoltare integrate (IDE) în care puteți crea și edita fișiere PHP. Pentru o listă a unor editori, consultați » Lista editorilor PHP. Dacă doriți să recomandați un editor, vă rugăm să vizitați această pagină și să solicitați adăugarea unui editor pe listă. Utilizarea unui editor cu evidențiere de sintaxă poate fi de mare ajutor pentru munca dvs.

cometariu: Câteva cuvinte despre procesoarele de text

Procesoarele de text (StarOffice Writer, Microsoft Word, Abiword etc.) nu sunt în majoritatea cazurilor potrivite pentru editarea fișierelor PHP. Dacă încă doriți să utilizați oricare dintre acestea pentru scriptul de testare, asigurați-vă că salvați fișierul ca text simplu(text simplu), altfel PHP nu va putea citi și rula scriptul dvs.

cometariu: Câteva cuvinte despre Windows Notepad

Când scrieți scripturi PHP folosind Notepad-ul Windows încorporat, trebuie să salvați fișierele cu extensia .php. (Notepad va adăuga automat extensia .txt dacă nu parcurgeți următorii pași.) Când vi se cere să denumiți fișierul când îl salvați, introduceți numele fișierului între ghilimele duble (de exemplu, „ hello.php ” ). În plus, puteți face clic pe meniul derulant „Documente text” din caseta de dialog pentru salvare a fișierului și puteți selecta elementul „Toate fișierele” din acesta. După aceea, puteți introduce numele fișierului fără ghilimele.

Acum că ați creat cu succes un script PHP funcțional, este timpul să creați cel mai faimos script PHP de până acum! Apelați o funcție phpinfo()și veți vedea o mulțime de informații utile despre sistemul și configurația dvs., cum ar fi variabilele predefinite disponibile, modulele PHP încărcate și opțiunile de configurare. Acordați-vă timp pentru a studia aceste informații importante.

Exemplul #2 Obținerea informațiilor de sistem din PHP

Mulți cititori din orice carte despre computere vor trece peste tot ce nu prezintă interes imediat și vor continua la ceea ce ei cu adevărat vrei stiu. Personal, exact asta fac. Cu toate acestea, nu este nimic de care să vă faceți griji - rareori există cărți tehnice care trebuie citite din scoarță în scoartă. Sau poate ai făcut exact asta - ai sărit peste cele opt capitole inițiale și ai preluat acest capitol pentru că avea cel mai interesant titlu? Și cine vrea să piardă timpul cu detalii când un alt proiect este în flăcări la locul de muncă?

Din fericire, această grabă nu vă va împiedica să înțelegeți a doua parte a cărții, care este despre utilizarea PHP pentru a construi site-uri web și a interacționa cu Web-ul. În acest capitol, veți învăța cum să modificați cu ușurință conținutul paginilor web și să navigați pe Web folosind link-uri și diferite funcții standard. Următorul capitol va completa materialul prezentat – se discută în detaliu mijloacele de interacțiune a utilizatorului în formularele HTML.Capitolul 11 ​​descrie organizarea interfeței cu bazele de date. Restul capitolelor din partea 2 acoperă aspectele non-triviale ale programării web în PHP.

Cu toate acestea, trebuie amintit că materialul din partea 1 absolut esential pentru cunoștințe normale de PHP. Se presupune că ați citit prima parte, așa că exemplele vor folosi multe dintre conceptele discutate mai devreme. Așadar, dacă ai răsfoit o parte din carte, va trebui să te întorci din când în când la capitolele anterioare și să ajungi din urmă.

Legături simple

<а href = "date.php">

$link = "data.php";

imprimare"<а href = \"$link\">Vezi data de azi
\n"

S-ar putea să vă întrebați de ce există o bară oblică inversă (\) înainte de ghilimele (") în codul link-ului? Acest lucru se datorează faptului că ghilimelele sunt caractere speciale în PHP și sunt folosite ca delimitatori de șiruri. Prin urmare, ghilimele sunt șiruri literale în șiruri. Trebuie să fie ecranat.

Dacă nevoia de a scăpa de ghilimele te enervează, trebuie doar să pornești modul magic_quotes_gpc din fișierul tău php.ini. Rezultatul sunt toate apostrofele, ghilimele, barele oblice inverse și caracterele nule. sunt scăpate automat în text!

Să dezvoltăm exemplul dat. Pentru a afișa rapid o listă de link-uri în browser, puteți utiliza o matrice:

// Creați o matrice de secțiuni

$contents - array("tutoriale", "articole", "scripturi", "contact");

// Buclă și scoate fiecare element al matricei secvenţial

pentru ($i = 0; $i< sizeof($contents; $i++)

imprimare" • „.$conținut[$i]”.
\n";

// • - denumirea specială a punctului marker endfor;

Componentele fișierelor (șabloane)

Am ajuns la una dintre caracteristicile mele PHP preferate. Un șablon (așa cum se aplică programării web) este o parte a unui document web pe care o veți utiliza în mai multe pagini. Șabloanele, cum ar fi funcțiile PHP, vă scutesc de bătaia de cap de a copia/lipi fragmente din conținutul paginii și codul programului. Pe măsură ce amploarea site-ului crește, importanța șabloanelor crește, deoarece acestea vă permit să faceți ușor și rapid modificări la nivelul întregului site. Această secțiune va descrie câteva dintre posibilitățile care se deschid atunci când utilizați cele mai simple șabloane.

De obicei, bucăți comune de conținut/cod (adică șabloane) sunt stocate în fișiere separate. Când construiți un document web, pur și simplu „includeți” aceste fișiere în locurile corespunzătoare din pagină. PHP are două funcții pentru aceasta: include() și require().

include() și cere()

Unul dintre cele mai remarcabile aspecte ale PHP este capacitatea de a construi șabloane și biblioteci de programare și apoi de a le insera în scripturi noi. Utilizarea bibliotecilor economisește timpul și efortul de utilizare a funcționalităților comune pe diferite site-uri web. Cititorii cu

experiență de programare în alte limbaje (de exemplu, C, C++ sau Java), familiaritate cu conceptul de biblioteci de funcții și utilizarea acestora în programe pentru extinderea funcționalității.

Includerea unuia sau mai multor fișiere într-un script se face folosind funcțiile standard PHP require() și include(). După cum va fi arătat în secțiunea următoare, fiecare dintre aceste funcții este utilizată într-o situație specifică.

Funcții

PHP are patru funcții pentru includerea fișierelor în scripturile PHP:

  • include();
  • include_once();
  • cere();
  • necesită_o dată().

În ciuda asemănării numelor, aceste funcții îndeplinesc sarcini diferite.

Funcția include() include conținutul unui fișier într-un script. Sintaxa funcției include() este:

include (fișier fișier]

Funcția include() are o caracteristică interesantă - poate fi executată condiționat. De exemplu, dacă un apel de funcție este inclus într-un bloc de instrucțiuni if. atunci fișierul este inclus în program numai dacă condiția i f este adevărată. Dacă funcția includeO este utilizată într-o comandă condiționată, atunci aceasta ar trebui să să fie cuprinse între acolade sau delimitatori alternativi. Comparați diferențele de sintaxă din listele 9.1 și 9.2.

Lista 9.1. Utilizarea incorectă a include()

dacă (unele_condiționale)

include ("text91a.txt"); altfel

include ("text91b.txt");

Lista 9.2. Utilizarea corectă a include()

dacă (unele_condiționale):

include ("text91a.txt");

include ("text91b.txt");

Tot codul PHP din fișierul include neapărat este în etichete PHP. Nu presupuneți că simpla stocare a unei comenzi PHP într-un fișier va asigura că aceasta este procesată corect:

În schimb, trebuie să includeți comanda în etichetele corespunzătoare, așa cum se arată în exemplul următor:

printează „acesta este un fișier include invalid”;

Funcția include_once() face la fel ca include(), cu o excepție: verifică dacă fișierul a fost inclus înainte de a fi inclus în program. Dacă fișierul a fost deja inclus, apelul include_once() este ignorat, iar dacă nu, fișierul este inclus implicit. În toate celelalte privințe, include_once() nu este diferit de include(). Sintaxa funcției include_once() este:

include_once (fișier fișier)

În general, funcția require() este similară cu include() -- include și șablonul în fișierul care conține apelul la require(). Sintaxa funcției require() este:

cere (fișier)

Cu toate acestea, există o diferență importantă între funcțiile require() și include(). Fișierul specificat de parametrul require() este inclus în script, indiferent de locația require() în script. De exemplu, dacă apelați requirere() într-un bloc if cu o condiție falsă, fișierul va fi în continuare inclus în script!

În multe situații, este convenabil să creați un fișier cu variabile și alte informații care sunt utilizate pe site și apoi să îl includeți după cum este necesar. Deși numele acestui fișier este arbitrar, de obicei îl numesc init.tpl (prescurtare de la „initializaion.template”). Lista 9.3 arată cum arată un fișier init.tpl foarte simplu. În Lista 9-4, conținutul init.tpl este inclus în script cu comanda require().

Lista 9.3. Exemplu de fișier de inițializare

$site_title = "(!LANG:Rețete PHP";!}

$contact_email = " [email protected]";

$contact_name = "WJ Gilmore";

Lista 9.4. Folosind fișierul init.tpl

<? print $site_title; ?>

\"mai1 to:$contact_email\">$contact_name."; ?>

Transmiterea unui URL la apelarea require() este permisă numai dacă modul „URL fopen wrappers” este activat (acest mod este activat implicit).

Pe măsură ce dimensiunea site-ului crește, se poate întâmpla ca unele fișiere să fie incluse în script de mai multe ori. Uneori, acest lucru nu cauzează probleme, dar în unele cazuri reactivarea fișierului resetează variabilele modificate. Dacă funcțiile sunt definite într-un fișier include, pot apărea conflicte de nume. Acestea fiind spuse, ajungem la următoarea funcție, require_once().

Funcția require_once() asigură că fișierul va fi inclus în script o singură dată. După un apel la requi re_onse(), toate încercările ulterioare de a include același fișier sunt ignorate. Sintaxa funcției require_onse() este:

Probabil că veți folosi mai des funcționalitatea de includere a fișierului, pe măsură ce aplicațiile dvs. web cresc în dimensiune. Aceste funcții sunt adesea folosite în exemplele din această carte pentru a reduce redundanța codului. Primele exemple sunt discutate în secțiunea următoare despre principiile construirii șabloanelor de bază.

Componente de constructii

Când definesc structura unei pagini web tipice, o despart de obicei în trei părți: un antet, un corp și un subsol. De obicei, cele mai multe site-uri web bine organizate vor avea un titlu care nu se schimbă prea mult; partea principală afișează conținutul solicitat al site-ului, deci se schimbă des; În cele din urmă, subsolul conține informații despre drepturile de autor și link-uri de navigare. Subsolul, ca și antetul, rămâne de obicei neschimbat. Nu mă înțelege greșit - nu încerc deloc să-ți înăbușe creativitatea. Am văzut o mulțime de site-uri grozave care nu au urmat aceste principii. Încerc doar să vin cu o structură generală care să poată servi drept punct de plecare pentru lucrări ulterioare.

antet

Un fișier antet (ca cel din Listarea 9.5) este prezent în aproape fiecare dintre site-urile mele cu PHP activat. Acest fișier conține

informații la nivelul întregului site, cum ar fi titlul, informațiile de contact și anumite componente ale codului paginii HTML.

Lista 9.5. Exemplu de fișier antet

// Fișier: header.tpl

// Scop: Fișier antet pentru site-ul PhpRecipes.

$site_name = "PHPRecipes";

$site_email=" [email protected]";

$site_path = "http://localhost/phprecipes";

<? print $site_name; ?>

// Afișează data și ora curente

imprimare data ("F d, h:i a");

Este destul de comun ca vizitatorii să restricționeze accesul pentru a include fișiere, mai ales dacă fișierele conțin informații sensibile (cum ar fi parolele). În Apache, puteți împiedica vizualizarea anumitor fișiere prin editarea fișierelor http.conf sau htaccess. Următorul exemplu arată cum să dezactivați vizualizarea tuturor fișierelor .tpl:

comanda permite, refuza

Permite de la 127.0.0.1

Problemele legate de PHP și securitatea site-ului sunt tratate în detaliu în Capitolul 16.

Titlu de alergare

Antetul (subsolul) se numește de obicei informațiile aflate în partea de jos a paginilor site-ului - detalii de contact, link-uri și informații despre drepturile de autor. Aceste informații pot fi plasate într-un fișier separat și incluse ca șablon în același mod ca un antet. Să presupunem că, odată cu apariția noului an, a trebuit să modificați informațiile despre drepturile de autor și să le aduceți la forma „Copyright © 2000-2001”. Există două moduri: petrece Ajunul Crăciunului editând febril sute de pagini statice sau utilizați un șablon ca cel din Listarea 9.6. O simplă schimbare și poți reveni la treburile de vacanță.

Lista 9.6. Exemplu de fișier subsol (footer.tpl)

a lua legatura |

intimitatea ta

Observați utilizarea variabilei globale $site_email în fișierul subsol. Valoarea acestei variabile este la nivelul întregii pagini și presupunem că fișierele header.tpl și footer.tpl vor fi incluse în aceeași pagină finală. De asemenea, rețineți prezența $site_path în linkul de confidențialitate. Eu includ întotdeauna căile complete către toate link-urile din șabloanele mele -- dacă URL-ul linkului consta din un singur nume privacy.php, atunci fișierul de subsol ar fi codificat într-un anumit director.

Parte principală

Conținutul antetului și al subsolului este inclus în partea principală a paginii. În esență, este partea principală care conține informațiile de interes pentru vizitatorii site-ului. Antetul arată spectaculos, subsolul conține informații utile, dar pentru partea principală a paginii utilizatorii revin pe site din nou și din nou. Deși nu pot face recomandări cu privire la structura specifică a paginii, șabloanele precum cel din Listarea 9-7 fac administrarea paginii mult mai ușoară.

Lista 9.7. Exemplu de corpul principal al paginii (index_body.tpl)

/tutorials.php">tutoriale

articole

scripturi

contact

Bun venit la PHPRecipes. locul de plecare pentru scripturi PHP, tutoriale,

și informații despre gătit gourmet!

Pune totul împreună: antet, subsol și corp

Poate că starea mea de spirit este cel mai bine exprimată de colonelul „Hannibal” Smith (George Peppard) din celebra serie A-Team: „Îmi place când totul cade la locul lor”. Am ceva similar atunci când șabloanele disparate sunt combinate pentru a forma un document web complet. Combinând trei secțiuni de document: header.tpl, index_body.tpl și footer.tpl, puteți construi rapid o pagină simplă precum cea din Lista 9-8.

Lista 9.8. Construirea paginii index.php prin includerea mai multor fișiere

// Fișier: index.php

// Destinație: pagina de pornire PHPRecipes

// Afișează titlul

include("header.tpl");

// Ieșire corpul principal

include("index_body.tpl");

// Subsolul de ieșire

include("footer.tpl");

Ei bine, cum? Trei comenzi simple - și ai o pagină terminată în fața ta. Textul paginii rezumat este afișat în Lista 9.9.

Lista 9.9. Pagina HTML construită în Lista 9-8 (index.php)

Rețete PHP

23 august, ora 15:17

tutoriale

articole

scenarii

a lua legatura

Bun venit la PHPRecipes, locul de plecare pentru scripturi PHP, tutoriale,

și sfaturi și rețete de gătit gourmet!

Copyright 2000 PHPRecipes. Toate drepturile rezervate.

a lua legatura |

intimitatea ta

Pe fig. Figura 9-1 arată cum arată pagina rezultată în browser. Deși de obicei nu folosesc chenare de tabel, de data aceasta le-am inclus pentru ca cele trei părți ale paginii să iasă mai clar în figură.

Orez. 9.1. Aspectul paginii construit în listarea 9.8

Optimizarea șablonului

În cea de-a doua variantă (după părerea mea, mai de preferat), șabloanele sunt realizate sub formă de funcții aflate într-un fișier separat. Aceasta oferă o structurare suplimentară pentru șabloanele dvs. Eu numesc acest fișier fișier de inițializare și stochează alte informații utile în el. Deoarece ne-am uitat deja la exemplele de antet și subsol relativ lungi, listele 9-10 și 9-11 au fost ușor scurtate pentru a ilustra noua idee.

Lista 9.10. Șablon de site optimizat (site_init.tpl)

// Fișier: site_init.tpl

// Scop: fișier de inițializare PhpRecipes

$site_name = "PHPRecipes";

$site_email = " [email protected]";

$site_path = "http://localhost/phprecipes/";

funcția show_header($site_name) (

<? print $site_name: ?>

Acesta este antetul

funcția arată subsol ()

Acesta este subsolul

Lista 9.11. Aplicarea unui fișier de inițializare

// Includeți fișierul de inițializare

include("site_init.tpl");

// Afișează titlul

arată antetul($site_name);

// Conținutul corpului Acestea sunt câteva informații despre corp

// Afișează subsol Show_footer();

Proiect: generator de pagini

Deși majoritatea site-urilor web pe care le-am creat au generat conținutul principal al paginilor pe baza informațiilor citite din baza de date, vor exista întotdeauna câteva pagini care abia se schimbă. În special, pot afișa informații despre echipa de dezvoltare, informații de contact, reclame etc. De obicei stochez aceste informații „statice” într-un folder separat și folosesc un script PHP pentru a le încărca atunci când mi se solicită. Desigur, aveți o întrebare - dacă acestea sunt informații statice, pentru ce este scriptul PHP? De ce nu încărcați pagini HTML normale? Avantajul PHP este că puteți folosi șabloane și puteți introduce fragmente statice după cum este necesar.

<а href = "/static.php?content=$content">Numele paginii static

Să începem prin a crea pagini statice. Pentru simplitate, mă voi limita la trei pagini care conțin informații despre site (Listing 9.12), publicitate (Listing 9.13) și informații de contact (Listing 9.14).

Lista 9.12. Informații despre site (about.html)

Despre PHPRecipes

Ce programator nu amestecă programarea toată noaptea cu prăjiturile gourmet. Aici, la PHPRecipes, aproape că nu trece o noapte fără ca unul dintre programatorii noștri să amestece puțin HTML cu o farfurie gustoasă de ciuperci Portobello sau chiar Fondue. Așa că am decis să vă aducem cel mai bun dintre ceea ce ne place cel mai mult: PHP și mâncare!

Așa e, cititori. Tutoriale, scripturi, sufleuri și multe altele. numai la PHPRecipes.

Informații publicitare

Indiferent dacă vin pentru a învăța cele mai recente tehnici PHP sau pentru a perfecționa cum

pentru a coace pui, puteți paria că cititorii noștri sunt factori de decizie. Ei sunt Industria

profesioniști care iau decizii cu privire la ceea ce cumpără compania lor.

Pentru informatii publicitare, contactati

">[email protected].

Lista 9.14. Detalii de contact (contact.html)

Contactează-ne

Ai un sfat de codare?

Cunoașteți toppingul perfect pentru igname confiate?

Anunță-ne! Contactați echipa la [email protected].

Să trecem la construirea paginii static.php, care afișează informațiile statice solicitate. Acest fișier (vezi Lista 9-15) include componentele paginii site-ului nostru și fișierul de inițializare site_init.tpl.

Lista 9.15. Ieșirea generală a paginilor statice (static.php)

// Fișier: static.php

// Scop: Afișează paginile statice solicitate.

// AVERTISMENT: se presupune că fișierul „site_init.tpl” și tot

// fișierele statice sunt în același director.

// Funcțiile și variabilele de încărcare includ ("site_init.tpl"):

// Afișează titlul show_header($site_name);

// Afișează conținutul solicitat include("$content.html"):

// Afișează subsol arată subsol();

Acum totul este gata pentru a construi scenariul principal. Doar includeți în pagină

<а href = "static.php?content=about">Numele paginii static

Informații publicitare

Contactează-ne

Făcând clic pe oricare dintre aceste link-uri, se va încărca pagina statică corespunzătoare încorporată în static.php în browser!

Rezultate

În acest capitol, ați aflat despre obiectivul principal pe care PHP a fost conceput pentru a-l rezolva: construirea dinamică a paginilor web. Au fost luate în considerare următoarele întrebări:

  • procesare URL;
  • construirea de conținut dinamic;
  • includerea și construcția șabloanelor de bază.

Capitolul se încheie cu un generator de pagini, un program care încarcă pagini statice într-un șablon și facilitează întreținerea unui număr mare de pagini HTML statice.

Următorul capitol este despre utilizarea PHP în combinație cu formulare HTML pentru a îmbunătăți foarte mult interactivitatea site-ului dvs. Și apoi - interacțiunea cu bazele de date! Trebuie să înveți o mulțime de lucruri interesante.

Am vorbit doar despre paginile statice, adică cele care, indiferent de modul în care utilizatorul interacționează cu acestea, rămân mereu neschimbate, iar pentru ca conținutul sau designul lor să se modifice, proprietarul paginii trebuie să editeze manual codul.

Pagini dinamice și de ce au nevoie

Pe lângă cele statice, există și pagini dinamice. Majoritatea sunt acum pe internet. Informațiile din acestea sunt încărcate din surse externe, cum ar fi o bază de date sau alte fișiere. Conținutul și formatarea acestor pagini se pot modifica în funcție de acțiunile utilizatorului. Pentru a edita site-uri dinamice, nu este necesar să interferați cu codul lor - este suficient să schimbați conținutul într-un fișier sau o bază de date special concepute, care, apropo, este și un fișier, structurat doar într-un anumit fel.

Pentru a crea site-uri web dinamice, doar HTML și CSS nu sunt suficiente. De asemenea, folosește limbaje de programare, precum și baze de date și limbaje de interogare pentru acestea. Cel mai adesea, site-urile dinamice moderne folosesc HTML, CSS, PHP, JavaScript, SQL în munca lor. Primele două abrevieri vă sunt deja familiare, SQL este folosit pentru a accesa bazele de date, JavaScript este un limbaj de client ale cărui comenzi sunt procesate de browser și sunt adesea folosite pentru a vă arăta tot felul de frumusețe, cum ar fi perdele sau fotografii care se deschid fără probleme, dar PHP este un limbaj de programare pe server, care funcționează, printre altele, cu conținutul site-ului și îl face dinamic, vom intra în contact cu el astăzi.

Un exemplu de utilizare a comenzii include

În articolul anterior, am vorbit despre aspectul bloc al site-ului și am citat ca exemplu cea mai simplă pagină (document index.htmlși fișierul asociat acestuia stil.css).

Acum vom împărți documentul index.htmlîn mai multe fișiere, fiecare dintre ele va conține propria sa parte a paginii, ceea ce va ajuta la separarea suplimentară a codului, la îmbunătățirea structurii șablonului și, de fapt, la dinamica paginii. În acest scop, vom folosi limbajul PHP, sau mai bine zis, doar una dintre directivele sale - funcția include(), care include un fișier în altul.

1. Schimbați permisiunea fișierului creat în articolul despre aspectul blocurilor index cu .html pe .php pentru a numi documentul index.php. Tip fișier .PHP indică serverului că documentul a fost scris sau folosește inserții în limbajul de programare cu același nume.

2. În folderul cu pagina, creați un director blocuri.

3. Toate informațiile auxiliare (sus, jos, navigare și bara laterală a site-ului) vor fi puse în fișiere separate, pe care le vom plasa în folder blocuri.

Deci, creați patru fișiere în directorul blocuri: header.php, navigare.php, sidebar.phpși footer.php. Completați fișierele cu cod.

4. Verificați structura folderului șablon. Fișierele trebuie să fie în rădăcină index.php, stil.cssși director blocuri.

Structura folderului blocuri ar trebui să fie așa.

5. În dosar index.phpștergeți codul existent și scrieți unul nou:

Aspect bloc

Conținutul paginii principale

În browser, fișierul index.php arată exact la fel ca înainte, dar structura șablonului s-a schimbat complet. Vom vorbi despre ceea ce s-a întâmplat mai târziu, iar acum vom răspunde la întrebarea despre comenzile misterioase ale formularului .

Ca și codul HTML, codul PHP are, de asemenea, propria sa desemnare de început și de sfârșit. Deci, trebuie să porniți o inserare PHP cu comanda , și se termină cu linia ?> . Între aceste comenzi se scrie codul principal. În cazul nostru, aceasta este doar o comandă - include.

Funcţie include() inserează codul dintr-un alt fișier în fișier, făcând posibilă stocarea diferitelor părți ale paginii în documente diferite, separându-le astfel în mod fiabil unele de altele.

În urma acțiunilor efectuate, am obținut o pagină dinamică index.php, dintre care părți sunt încărcate din fișiere diferite. Datorită acestui lucru, puteți crea alte pagini încărcând elemente auxiliare din fișierele folder în același mod. blocuri.

Această abordare este bună deoarece dacă doriți să schimbați, să zicem, numele unui element de meniu pe un site de 20-30 de pagini, atunci într-un șablon cu o structură nou creată, va trebui să faceți modificări la un singur fișier - blocuri /navigation.php, iar meniul se va schimba imediat pe toate paginile în care este inclus. Dacă site-ul ar fi static, atunci pentru a schimba numele unui element de meniu, ar trebui să faceți modificări la fiecare de la 20-30 pagini. Diferența este evidentă.