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.
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):
ocupă mult mai puțin spațiu pe disc.
Luați în considerare avantajele aspectului bloc în comparație cu cel tabel:
- 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.
- 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.
- 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.
- 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:
Introduceți detaliile dvs.:
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:
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
"
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:
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
require ("init.tpl ");?>
print "Welcome
to $site_title. For questions, contact
\"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";
// 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 alergareAntetul (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)
|