HTML. Variabile PHP utilizate în paginile web dinamice

May 23, 2016 | Author: Anonymous | Category: PHP
Share Embed


Short Description

Tipul tablou. Tipul obiect. 64. 8. Limbajul PHP. Utilizarea şirurilor de caractere. Utilizarea datelor introduse în fo...

Description

Cuprins

1. 2.

Cuprins

1

Cuvânt înainte

2

Noţiuni introductive WWW. Pachetul XAMPP

5

Limbajul HTML. Formatarea caracterelor şi a paragrafelor

19

3.

Limbajul HTML. Tabele

22

4.

Limbajul HTML. Ferestre. Formulare

38

5.

Limbajul PHP. Elementele de bază ale limbajului

48

6. 7.

Limbajul PHP. Instrucţiunile limbajului PHP. Funcţii definite de utilizator Limbajul PHP. Tipul tablou. Tipul obiect

57 64

Limbajul PHP. Utilizarea şirurilor de caractere. 8.

Utilizarea datelor introduse în formularele (X)HTML.

71

Variabile PHP utilizate în paginile web dinamice 9.

SGBD-ul MySQL - partea I

80

10.

SGBD-ul MySQL - partea II

86

11.

SGBD-ul MySQL - partea III

94

12.

Aplicaţii implementate

101

13.

Teste de tip grilă - limbajul PHP

111

14.

Bibliografie

123

1

Cuvânt înainte

Îndrumarul Tehnologii şi aplicaţii web se adresează studenţilor de la specializarea Automatică şi Informatică Aplicată de la Facultatea de Inginerie a Univesităţii Constantin Brâncuşi din Târgu-Jiu. În această carte am încercat să prezint principalele noţiuni ce sunt necesare studenţilor pentru a putea dezvolta şi implementa cu succes pagini web. Având în vedere expansiunea Internetului din zilele noastre, dar mai ales utilizarea pe scară largă a principlalului serviciu oferit şi anume HTTP, serviciu care oferă accesul la informaţii prin intermediul browser-elor cunoscute, este necesar să se poată construi un site eficient. Pentru învăţarea analizei şi implementării eficiente a unui site, am prezentat câteva pachete şi limbaje de programare web: ► Pachetul XAMPP, care conţine un server APACHE pentru gestiunea PHP şi MySQL ► Limbajul de descriere a datelor HTML ► Limbajul de programare web PHP ► Sistemul de gestiune a bazelor de date MySQL Îndrumarul este împărţit în 12 lucrări de laborator axate în principal pe implementarea practică a noţiunilor teoretice prezentate la cursul de Tehnologii web de la specializarea Automatică şi Informatică Aplicată. Pentru verificarea cunoştiinţelor referitoare la limbajul PHP, în capitolul 13, am prezentat 50 de întrebări tip grilă cu o singură variantă corectă.

Septembrie 2009

Autorii

2

Introducere Tehnologiile utilizate în aplicaţiile Web reprezintă în general, acele limbaje de programarea utilizate la crearea de site-uri web complexe, interactive, al căror concept presupune stăpânirea cât mai detaliată a unor limbaje de scripting sau de programare şi baze de date. În categoria tehnologiile Web se pot include o multitudine de limbaje de programare, cum ar fi PHP, JavaScript, ASP etc., iar ca baze de date pot fi utilizate MySQL, MsSQL, Access etc. Câteva aplicaţii Web întalnite mai des sunt portalurile, forumurile, magazinele virtuale, formularele de înscriere, licitaţiile on-line etc. Acum câţiva ani, tehnologiile Web erau folosite doar de marile companii datorită, în principal, costurilor ridicate ale licenţelor programelor de dezvoltare. În prezent, datorită dezvoltării tot mai accentuate a soluţiilor Open Source, oricine îşi poate permite realizarea aplicaţii web. Se pot enumera o serie de tehnologii folosite mai des în programarea aplicaţiilor web dinamice, şi anume:  HTML - Apărut la începutul anilor '90, datorită lipsei unui limbaj universal care să permită publicarea informaţiei la nivel global, HTML a determinat dezvoltarea spectaculoasă a Internetului.HTML ( Hypertext Markup Language ). Marcajele de tip HTML din cadrul documentului spun browser-ului cum să afişeze conţinutul util al fişierului;  XHTML - reprezintă prescurtarea de la EXtensible HyperText Markup Language (denumirea oficiala a standardului). Practic este un înlocuitor modern al mai vechiului limbaj HTML;  CSS - Fişierul CSS (cascading style sheet - foi de stil în cascadă). Un fişer CSS este un fişier text cu extensia ".css" definind stiluri pentru paginile HTML. Fişierele CSS permit stilizarea în bloc a documentelor HTML cu un efort semnificativ mai mic decât în cazul stilizării elementelor de pagină în cadrul fiecărui document HTML în parte, prin intermediul atributelor tagurilor.  JAVASCRIPT - este un limbaj de scripting dezvoltat la origine de Netscape, permiţând scrierea de secvenţe de program care se execută la apariţia unui eveniment utilizator.  FLASH - este un mediu de lucru dezvoltat de compania Macromedia, cu ajutorul FLASH-ului se poate realiza un design de calitate, conţinut interactiv, animaţii profesionale.  MYSQL - este un sistem de gestiune a bazelor de date relaţionale, fiind o componentă cheie a limbajului PHP  CGI - Common Gateway Interface - sunt scripturi scrise în orice limbaj de programare indiferent dacă este compilat sau interpretat, scripturi care sunt executate pe server;  ISAPI - Internet Server API - reprezintă alternativa celor de la Microsoft la CGI (Common Gateway Interface), rulabilă bineînţeles pe platforme Windows. Acesta poate fi scris în orice limbaj cu suport pentru dll-uri. Rezultatul compilării va fi un fişier .dll. ISAPI are o serie de avantaje fata de CGI. O alternativă la ISAPI este NSAPI. Acesta se utilizează în cadrul serverului Netscape;  PHP şi ASP apărute în 1994, respectiv 1996, sunt două limbaje puternice care au adus o schimbare în design-ul aplicaţiilor web. Acestea, deşi sunt diferite, au totuşi o serie de similarităţi: ambele sunt interpretate, ambele

3

generează scripturi (.php respectiv .asp), care pot fi combinate cu HTML, date de tip text etc. Limbajele oferă suport şi pentru lucrul cu baze de date (MySQL, MsSQL, PostgreSQL, Oracle) - de fapt sunt intens folosite în acest sens. Limbajul ASP nu este un concept nou ci se bazează pe limbajele VBScript şi JScript. Principalul dezavantaj al acestor doua limbaje este viteza. Acestea sunt lente deoarece fiecare accesare presupune procesarea şi interpretarea lor şi nu pot construi controale reutilizabile.  JSP - Java Server Pages - reprezintă o tehnologie de design al aplicaţiilor web ce permite crearea acestor aplicaţii independente de platformă. Tehnologia se bazează pe limbajul de programare Java şi marcatori XML. Avantajul JSP este reprezentat de administrarea facilă, independentă de platformă, separarea logicii aplicaţiei de partea de interfaţă utilizator, performanţa;  ASP.NET - este o nouă tehnologie pentru aplicaţii web elaborată de Microsoft, dar despre care nu se poate spune dacă este o urmare a ASPului, cu toate că păstrează compatibilitatea cu acesta . Există o serie de alte medii pentru proiectarea aplicaţiilor web, fiecare cu avantajele şi dezavantajele sale, dar cu un singur scop: crearea unor aplicaţii web interactive, securizate, cu timp de răspuns cât mai redus, dar care să ofere şi o interfaţă grafică plăcută.

4

Laborator 1 – Introducere. Definiţii. Pachetul XAMPP 1.1. Introducere. Definiţii Evoluţia societăţii umane este marcată periodic de realizarea unor mari descoperiri ştiinţifice, tehnice sau artistice, care determină schimbări profunde în toate domeniile vieţii sociale. Nu greşim dacă socotim că apariţia reţelei Internet este o descoperire cel puţin egală ca însemnătate cu inventarea telefonului, automobilului sau cu dezvoltarea tehnologiilor nucleare. Interconectarea reţelelor de comunicaţie la nivelul întregului glob nu a reprezintat numai o realizare tehnică deosebită, care a impulsionat dezvoltarea puternică a industriei IT şi a industriei telecomunicaţiilor, ci şi redefinirea conceptului de comunicare interumană. Astăzi “răsfoim” ziarele, facem cumpărături sau urmăm un curs de instruire stând comod în faţa calculatorului de acasa şi n-au trecut decât 20 de ani de când aceste lucruri existau doar în literatura ştiinţifico-fantastică. Cel mai popular serviciu oferit de reţeaua Internet este, fără îndoială, spaţiul World Wide Web (WWW sau 3W), o uriaşă reţea de informaţii care permite stocarea şi accesarea documentelor hipertext, utilizând protocolul de transfer al fişierelor hipertext (HyperText Transfer Protocol). Spaţiul WWW a fost conceput la Centrul European de Cercetări Nucleare (CERN), în anul 1989, de către echipa condusă de Tim Berners Lee şi Robert Caillau, cu scopul de a facilita accesul la informaţiile ataşate proiectelor al membrilor echipelor de cercetare, aflaţi de multe ori în diverse zone ale Europei. 12 septembrie 1990 este considerată ziua oficială de naştere a spaţiului WWW, odată cu apariţia primei aplicaţii grafice capabile să acceseze documentele hipertext. Primul navigator ce permitea afişarea elementelor grafice a fost NCSA Mosaic, urmat la scurtă vreme de celebrul Netscape Navigator. Odată cu mărirea exponenţială a numărului de servere din spaţiul WWW şi cu orientarea software-ului către aplicaţiile cu interfaţă grafică, au fost dezvoltate numeroase navigatoare. În momentul de faţă, cele mai utilizate navigatoare sunt: Internet Explorer, Mozilla FireFox şi Opera. Web-ul nu trebuie confundat cu Internetul. Web-ul este doar o colecţie uriaşă de informaţie interdependentă, distribuită în calculatoare gazdă din întreaga lume, care formează un sistem standardizat global de distribuţie a informaţiilor hipermedia. Web-ul beneficiază de infrastructura reţ elei Internet, de conceptele si protocoalele de transmitere a datelor care fac Internetul să funcţioneze: modelul client-server şi familia de protocoale TCP/IP. Chiar dacă este cel mai dinamic şi mai spectaculos serviciu, Web-ul este doar unul dintre serviciile oferite de reţeaua Internet, alături de: • serviciul de transfer de fisiere (FTP) • poşta electronică (e-mail) • mesagerie instantanee pentru text, voce şi imagine (servicii precum IRC şi messenger) • accesul la un calculator aflat la distanţă (TELNET). Întreaga istorie a spaţiului WWW este strâns legată de evoluţia conceptului de hipertext de la stadiul de simplă tipăritură electonică, prea puţin diferită de tipăriturile clasice, la stadiul de hipermedia, care permite înglobarea în cadrul unui document a mai multor medii de stocare şi transmitere a informaţiei.

5

Termenul hipertext sau text non-liniar a fost utilizat prima dată în anul 1965 de către Ted Nelson, autorul unui sistem hipermedia numit XANADU, destinat stocării şi accesării întregii literaturi universale. Acesta defineşte hipertextul ca fiind un: “material scris sau grafic, interconectat într-o manieră complexă care, în mod convenţional, nu poate fi reprezentat pe hârtie. El poate conţine cuprinsuri ale propriului său conţinut şi relaţiile dintre diverse părţi componente; poate de asemeni conţine adnotări, adăugiri şi note de subsol pentru cei ce doresc să-l examineze”. Nu există o definiţie unanim acceptată a hipertextului dar, indiferent de nuanţele de percepţie ale unuia sau altuia dintre autori, acesta poate fi privit ca: “o modalitate complexă de organizare a informaţiei textuale sau nontextuale, care permite explorarea neliniara a unei cantităţi mari de cunoştinţe”. Parcurgerea liniară a unui set de informaţii este asemenea citirii unei cărţi de la început şi pînă la sfârşit, parcurgând materialul paragraf cu paragraf, pagină cu pagină, în ordinea în care acestea apar. Explorarea neliniară a unui set de informaţii presupune organizarea documentului astfel încât să se poată face salturi înainte sau înapoi, de la o secţiune la alta înrudită cu aceasta. Saltul către o secţiune se realizează prin intermediul unei legături (hiperlegătură sau ancoră) iar o secţiune a documentului poate conţine text, imagini, secvenţe video sau chiar aplicaţii (applet-uri Java). Datorită faptului că un document Web poate îngloba multiple forme de prezentare a informaţiei, denumirea de hipermedia tinde să înlocuiască hipertextul.  O secţiune a documentului, indiferent dacă este vorba de un text, un tabel, o imagine sau o aplicaţie, este asimilată unui nod al digrafului;  O referiţă către o altă secţiune a documentului corespunde unui arc cu sursa în secţiunea ce conţine referinţa şi destinaţia în secţiunea referită; nodul sursă va fi numit referinta, iar nodul destinatie va fi numit referent. Explorarea hipertextului revine la parcurgerea unui lanţ în digraful asociat. Traversarea unui sistem hipertext/hipermedia va fi posibilă cu ajutorul unei aplicaţii numită browser (navigator). Browserul este o aplicaţie client, care se execută pe calculatorul personal al utilizatorului şi care negociază transferul datelor cu aplicaţia server, care se execută pe un calculator gazdă (host). Principalele avantaje ale unui sistem hipertext sunt următoarele:  Forma neliniară a hipertextului permite parcurgerea eficientă a conţinutului;  Capacitatea imensă de stocare a informaţiilor folosind sistemele hipermedia;  Sistemele hipertext oferă posibilitatea ca interogările, filtrările, diverse preferinţe şi adnotări ale utilizatorilor să fie folosite ori de câte ori este necesar, putând fi stocate în cadrul structurii hipertext a documentelor utilizate;  Independenţa de platforma hardware şi software permite folosirea pe scară largă a documentelor hipertext; Din punct de vedere practic, documentul hipermedia este un ansamblu compus din: � Fişiere text, ce conţin informaţia de tip text a documentului precum şi informaţiile privind structura, scopul documentului si informaţii de legătură cu fişierele multimedia. Se utilizează un sistem de marcare, asemănător sistemului folosit în tipografii, numit limbajul HTML – Hypertext Markup Language. � Fişiere ce conţin imagini statice, sunet, video, aplicaţii. Memorarea datelor este realizată în funcţie de tipul mediului folosit, existând diverse formate de stocare gratuite sau proprietare. De exemplu, formatele cele mai populare pentru memorarea graficii sunt JPEG, GIF şi PNG, iar pentru sunet WAV, MP3, VMA, MIDI.

6

Limbajele de marcare nu sunt limbaje de programare în sensul uzual, deci nu utilizează formulări imperative – instrucţiuni - în stocarea şi accesarea informaţiei. Limbajele de marcare utilizează etichete (labels) sau marcaje (tags), care definesc: � structura unui document, prin delimitarea secţiunilor documentului şi a relaţiilor dintre acestea; � modul de prezentare a secţiunilor documentului. Marcajele dau indicaţii navigatoarelor în ceea ce priveşte: � ierarhizarea informaţiei (secţiuni, subsecţiuni, relaţiile dintre secţiuni) � modul de afişare a informaţiei (font, dimensiune, culoare, aspect, poziţionare în document) � scopul informaţiei - accentul se pune nu pe modul de afişare a unei secţiuni ci asupra naturii acesteia, dând informaţii despre ceea ce reprezintă acea secţiune. Limbajul HTML este un subset al limbajului SGML-Standard Generalized Markup Language. Limbajul SGML reprezintă un standard internaţional pentru definirea unor metode de reprezentare a textelor în format electronic, independente de sistemul de calcul. Conceptele preluate de SGML au apărut încă de la sfârşitul anilor ’60, dar standardul a fost publicat abia în 1980, ca o primă prezentare, iar textul final a fost aprobat şi publicat în anul 1986. Limbajul HTML a ajuns la versiunea 4, standardul fiind publicat în anul 1997, iar în 1999 este publicată versiunea revizuită sub denumirea de HTML 4.01. Ultimele tendinţe în dezvoltarea limbajului HTML sunt cele de rescriere a acestuia în termenii limbajului XML – Extensible Markup Language – un limbaj derivat tot din standardul SGML. Astfel a apărut standardul XHTML 1.0, în ianuarie 2000, XHTML 1.1 în august 2002, astăzi fiind în lucru standardul XHTML 2.0. Marcaje HTML. Structura unui document HTML Formatarea unui document utilizând limbajul HTML se bazează pe mici etichete (marcaje sau tag-uri) delimitate prin caracterele < şi >. Marcajele sunt de doua tipuri: ► marcaje container (container tags) ► marcaje vide (empty tags) Marcajele container sunt de forma: secţiune unde: - marcheaza inceputul unui bloc, - marcheaza sfarsitul blocului Marcajele container specifică formatul în care navigatorul va afişa secţiunea delimitată între eticheta de început şi cea de final sau indică ce semnificaţie are secţiunea. Majoritatea marcajelor sunt de acest tip. Marcajele vide au forma: Aceste marcaje nu se refera la o secţiune a documentului ci sunt utilizate pentru introducerea anumitor elemente, ca de exemplu: inserarea unei imagini, introducerea sfarşitului de linie, trasarea de linii orizontale e.t.c. Pentru a putea defini mai clar structura şi aspectul unei anumite secţiuni a documentului, marcajele se pot utiliza în conjuncţie cu atributele HTML, furnizând browserului informaţii adiţionale privind modul în care marcajul respectiv ar trebui interpretat. Ţinând cont de aceasta, forma generală a unui marcaj HTML este:

7

Există atribute care pot fi utilizate împreună cu mai multe marcaje HTML. De exemplu, atributul Align - cu valorile posibile left, right, center sau justify - poate fi utilizat atât pentru alinierea textului dintr-un paragraf, cât şi pentru alinierea tabelelor sau imaginilor. Orice document HTML este structurat în două entităţi: ► antetul (HEAD) ► corpul (BODY) Un document HTML minimal, care se conformează regulilor de definire a documentelor hipermedia, este următorul: Să comentăm fiecare etichetă ce defineşte acest document HTML minimal: [… secţiune … ] Un titlu… Primul nostru document HTML. ► - este prima etichetă ce trebuie să apară în definirea structurii unui document HTML şi precizează, prin idString, versiunea limbajului HTML utilizată. Codul idString din exemplu indică utilizarea standardului HTML 4.0. ► Aceasta etichetă este de obicei ignorată de browsere, deoarece este dificil de realizat practic un document care să se conformeze strict regulilor unui singur standard. Documentele aflate pe Web folosesc de obicei atât etichete HTML 4.0 cât şi etichete din standardele mai vechi, care au fost eliminate din uz in standardul HTML 4.0 ► Eticheta … marchează şi limitele documentului, dar indică şi limbajul de marcare utilizat în document, limbajul HTML nefiind singura modalitate de a descrie documente Web. ► Antetul documentului este delimitat prin eticheta HEAD, care include diverse informaţii şi setările globale ce se pot realiza asupra documentului şi anume: o Inserarea unui titlu al documentului, care se afişează pe bara de titlu a ferestrei navigatorului (marcajul TITLE). Folosirea cu consecvenţă a titlurilor permite o mai bună orientare a utilizatorului într-un sistem hipertext complex. În lipsa acestei etichete browserul afişează ca titlu implicit numele fişierului ce conţine documentul; o Controlul acţiunii hiperlegăturilor din cadrul documentului prin eticheta o În mod implicit, hiperlegăturile dintr-un document ce folosesc căi relative la directorul curent se referă la resurse aflate pe acelaşi server cu documentul, dar locaţia implicită poate fi schimbată cu ajutorul etichetei .

8

o Legarea documentului de alte documente sau resurse se face prin eticheta LINK. Aceasta se foloseşte de obicei pentru a specifica o foaie de stiluri externă care se aplică documentului. o Furnizarea de informaţii referitoare la document şi/sau autorul acestuia: Cea mai folosită valoare a atributului http-equiv este keywords, pentru a preciza cuvintele cheie în funcţie de care documentul este indexat de către motoarele de căutare: Atributul Name se utilizează pentru precizarea informaţiilor referitoare la autor (author), o scurtă descriere a conţinutului documentului (description) şi informaţiile privind drepturile de autor (copyright). Nu în ultimul rând, antetul poate conţine secvenţe de cod JavaScript sau VBScript ori legături către scripturi stocate în fişiere externe. În acest scop se utilizează eticheta [ …instrucţiuni… ] Antetul este locul în care se introduc definiţiile de stil care se doresc a fi valabile pentru întregul document. Pentru aceasta se foloseste marcajul STYLE Corpul documentului este delimitat de eticheta şi reprezintă “partea principală” a unui document HTML. Corpul poate conţine orice elemente HTML. Pe lângă etichetele ce definesc diversele tipuri de secţiuni ale documentului se pot utiliza şi etichetele şi pentru a asocia unei porţiuni din document anumite caracteristici de stil sau scop.

Structura standard a unui document html (HTML 4.01) Primul cod html Putem porni fără teamă la scrierea fişierelor html pentru că niciodată nu veţi vedea fereastra urât colorată a compilatorului care te anunţă că ai ceva erori şi chiar mai multe „warning-uri” umbrită de privirea dojenitoare a profesorului care îţi dă de înţeles că iarăşi ai uitat „un punct şi virgulă”. Pornim un editor simplu - Notepad. Tastaţi următoarea secvenţă: Prima pagina web

9

Buna ziua! textul pentru exemplificare este scris ingrosat Observaţie: Nu lăsaţi un spaţiu după „ Universitatea Constantin Brancusi Facultatea de Inginerie Catedra de Automatica şi Informatica Specializarile Facultatii de Inginerie sunt: Automatica şi Informatica; Mecanica; Energetica.

38

Targu-Jiu, 0253.111.111.

Str.

Geneva

3,

Telefon:

Problema 2: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Imbricarea cadrelor Universitatea Constantin Brancusi Problema 3: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Cadre imbricate cu chenare colorate de diverse grosimi Cadre imbricate

39

Problema 4: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Chenare inactive Universitatea Constantin Brancusi Problema 5: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Cadre în-line Formate de Imagini Site realizat cu cadre în-line. Browserul dvs. nu suporta! Formate de Imagini: BMP JPEG TIFF

40

4.2. Formulare în HTML Problema 1: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Exemplu de formular Introduceti numele dvs. --> Problema 2: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Formular logare Introduceti numele dvs. de identificare --> Introduceti parola dvs.?

41

type="reset"

Problema 3: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Optiuni concediu Unde doriti să va petreceti concediul? la munte la mare acasa Daca plecati în concediu, unde ati dori să va cazati? la hotel vila pensiune agroturistica Problema 4: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Cursuri WEB Ce cursuri doriti să urmati? HTML ASP JAVA SCRIPT JAVA PHP ASP

42

Problema 5: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Ataseaza Fişier Problema 6: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Zodiac Zodia dumneavoastra este: Varsator Pesti Berbec Taur Gemeni Rac Leu Fecioara Balanta Scorpion Sagetator Capricorn

43

Problema 7: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Librarie informatica Selectati cartile care va intereseaza: Sabin Buraga - Aplicatii Web la cheie. Studii de caz implementate în PHP Traian Anghel - Programare Web Luke Welling, Laura Thomson - Dezvoltarea aplicatiilor Web cu PHP şi MySQL Larry Ullman - PHP şi MySQL pentru site-uri dinamice Problema 8: Lansaţi în execuţie editorul de texte Notepad şi introduceţi următorul fişier pe care îl salvati apoi cu extensia .html: Carte de oaspeti Parerea dvs.: Introduceti aici parerea dvs.

44

4.3. Aplicaţie implementată Un formular complex – Rezervarea unei camere de hotel Rezervare camere hotel Hotel Costica - Formular de rezervare 1. Informatii Generale Ce fel de camere doriti ? Single Double Apartament Optiuni camera: Televizor Vedere catre plaja Ce modalitate de plata alegeti ? Numerar Carte credit Transfer bancar Alte observatii

45

Introduceti aici optiunile dvs. daca nu este disponibila nici o camera conform cererii exprimate ! 2. Informatii Contact Nume şi prenume : Telefon :

type="reset"

4.4. Probleme propuse spre rezolvare 1. Editaţi un CV personal în care să adăugaţi o legătură către un document PDF care să se deschidă într-o nouă fereastră (folosiţi atributul target al tag-ului a). Folosiţi atributul title pentru a adăuga o descriere (tooltip) legăturii spre fişierul PDF. 2. Realizaţi în HTML o listă ordonată (în ordinea rangului) cu persoane din conducerea Universităţii Constatin Brâncuşi. 3. Realizaţi în HTML o listă neordonată cu colegii dumneavoastră de grupă. 4. Realizaţi un document HTML care afişează un tabel simplu:

46

5. Realizaţi o listă de definiţii în care termenii sunt oraşe din ţara în care aţi fost, iar definiţiile sunt câteva impresii despre fiecare oraş.

       o o o  o o o

6. Realizaţi un formular (formă) de introducere date conform următoarelor specificaţii: Componenta de tip text pentru preluare nume şi prenume Componenta de tip text pentru preluare adresa e-mail Componenta de tip casetă de selecţie pentru preluare specializare Componenta de tip casetă de selecţie pentru preluare curs Componenta de tip casetă de selecţie pentru preluare activitate. Activităţile pot fi: studiu curs, lucrare laborator, test grilă Componenta de tip buton radio pentru selecţie an de studiu (I, II, II sau IV) Componenta de tip buton validare (checkbox) pentru specificare selecţii dintre variantele: Activitate interactivă Activitate de studiu individual Activitate de lucru în colaborare cu alţi studenţi Trei butoane de submisie a informaţiilor introduse în formular cu următoarele semnificaţii: Lansare activitate Afişare stare student în raport cu activitatea selectată Anulare informaţii introduse în forma clasică (Cancel) 7. Creaţi un set de frame-uri. Unul dintre frame-uri va avea ca sursă un fişier ce conţine un alt set de frame-uri. Specificaţi surse pentru fiecare frame. Afişaţi pagina HTML compusă astfel. Adăugaţi o ancoră care are ca TARGET numele unuia din frame-urile subsetului de frame-uri. Referinţa pentru ancoră va fi un nou fişier HTML sau un fişier GIF. Activaţi referinţa. Observaţi actualizarea conţinutului frameului. Adaugaţi o ancoră care are ca TARGET numele frame-ului ce conţine subsetul de frame-uri. Referinţa pentru ancoră va fi un nou fişier HTML sau un fişier GIF. Activaţi referinţa. Observaţi ca astfel se poate actualiza conţinutul unui întreg set de frame-uri. Realizaţi o structură formată din 3 cadre cu următorul conţinut: Cadrul 1. Titlul aplicatiei Butoane corespunzatoare optiunilor aplicatiei Cadrul 2. Forma cu continutul de la problema 6 Cadrul 3. Titlu curs Nume profesor Nume asistent Programare curs Programare laborator Programare verificare Algoritm de calcul nota O componenta de tip textarea pentru preluarea comenzii.

47

Laborator 5 – Limbajul PHP 5.1. Crearea datelor de ieşire pentru un browser Web 1. Construcţia echo trimite datele de ieşire care vor fi afişate de browser Parantezele şi ghilimelele duble se folosesc pentru delimitarea unei expresii de tip text, în cazul nostru "scrieti aici un text oarecare", care apare la mijlocul instructiunii. De obicei se folosesc numai ghilimele (simple sau duble) pentru delimitarea expresiilor de tip text. În locul propozitiei "scrieti aici un text oarecare" puteti plasa aproape orice text. Totusi, pentru moment, trebuie să includeti numai litere, cifre, spatii şi semne de punctuatie folosite în alfabetul latin, precum virgula, caracterul punct şi virgula, punctul, semnul de intrebare şi semnul exclamarii. De asemenea, puteti include caracterele < >, folosite pentru delimitarea etichetelor HTML, respectiv caracterul /, folosit pentru a indica membrul de inchidere al unei perechi de etichete HTML. Perechea de etichete H4 determina formatarea datelor de ieşire ca titlu HTML de nivel 4. Scripturile PHP pot fi incluse şi în fişiere HTML, ca în următorul exemplu: Test

48

Salvati fişierul cu numele test-script.php 1) Daca ati instalat un server de PHP pe calculatorul dumneavoastra, salvati fişierul în directorul C:\Program Files\xampp\htdocs al serverului. Deschideti browserul şi scrieti adresa URL http://localhost/test-script.php. 2) Daca nu aveti instalat un server de PHP pe calculator, incarcati (prin FTP) fişierul test-script.php pe un server pe web unde este instalat PHP. Dupa ce v-ati incarcat fişierul care contine scriptul, sunteti pregatit pentru a obtine accesul la acesta. Lansati-va browserul Web preferat şi deschideti adresa URL asociata scriptului dumneavoastra. Adresa URL trebuie să fie alcatuita din adresa URL identificata de administratorul serverului unde ati incarcat scriptul, urmata de un slash (/), urmata de numele fişierului care contine scriptul dumneavoastra. Daca adresa URL identificata de administrator se incheie deja cu un caracter slash, nu trebuie să mai inserati inca un asemenea caracter inainte de numele scriptului dumneavoastra. De exemplu, daca administratorul serverului unde ati incarcat scriptul a identificat http://www.utgjiu.ro/ ca adresa URL a catalogului care contine scripturile dumneavoastra PHP, puteti obtine accesul la scriptul dumneavoastra prin intermediul adresei URL http://www.utgjiu.ro/test-script.php. În browser va apare: Primul meu script PHP.

5.3. Numere şi siruri, tipul variabilelor Tipul string Reprezinta o insiruire de caractere, fiecare caracter este memorat pe 1 byte; setul de caractere este limitat la 256 valori distincte. Dimensiunea sirurilor poate fi oricat de mare în PHP, nu exista specificatii care să limiteze numarul maxim de caractere dintr-un sir. Spre deosebire de întregi şi de numere float, care contin cu precadere cifre, sirurile pot contine orice caracter. Ca atare, sirurile sunt utile pentru stocarea datelor care nu pot fi calculate, precum nume şi adrese. În PHP, un sir poate fi declarat în mai multe feluri: 1) Un mod simplu de a declara un sir este prin delimitarea cu ghilimele simple (' ') Daca dorim ca sirul să contina caracterul ' sau, va trebui să inseram inaintea lui, caracterul escape \. Daca dorim ca sirul să contina caracterul \ va trebui să dublam acest caracter. Acest comportament este exemplificat în exemplul urmator:

49

În browser va apare: Curs 'PHP' Vrei să stergi C:\*.* ? Variabila var1=$var1 Variabila var1=Acesta este un sir de test Observati diferenta dintre ultimile doua linii! În penultima linie, unde s-a folosit gilimele simple pentru delimitarea sirului, variabila $var1 nu este expandata adica nu este afişat valoarea Variabilei var1=Acesta este un sir de test ci exact textul scris (numele ei). Pentru a realiza afişarea valorii variabilei şi nu numele acesteia, se folosesc ghilimelele duble, precum în ultima linie a exepluui de mai sus. 2) Metoda cea mai utilizată pentru a specifica un şir în PHP este prin folosirea ghilimelelor duble. Daca intr-un sir delimitat prin ghilimele duble vrem ca acesta să afiseze numele unei variabile, nu valoarea acesteia, adaugam un caracter backslash (\) inaintea numelui variabiei. Exemplu; echo "Numele variabilei este \$var"; Acest cod va afişa Numele variabilei este $var, oricare ar fi valoarea variabilei "$var". Caracterele care alcatuiesc sirul sunt incluse între ghilimele duble (" "); Pe langa imbricarea variabilelor în cadrul sirurilor delimitate prin ghilimele duble, PHP pune la dispozitie operatorul de concatenare a sirurilor: .(punct) . Acest operator adauga un sir la sfarsitul altui sir. De exemplu: În browser va apare: Numele de familie este Popescu iar prenumele este Costica

50

În anumite situatii este necesar să accesam unul dintre caracterele unui sir. Pentru aceasta putem folosi parantezele{} ca în exemplul de mai jos: Rezultatul afişat va fi: Ae

Tipul NULL Reprezinta varibilele care nu au inca atribuita o valoare. O variabila se considera a avea valoarea Null daca: - este setata explicit prin atribuirea valorii NULL - nu a fost asignata inca o valoare acestei variabile - variabila a fost stearsa prin functia unset(); Putem afla tipul unei variabile folosind functia gettype() care returneaza un string continand tipul variabilei cercetate. Observati şi studiati exemplul de mai jos În browser va apare: boolean integer double string string NULL Observati ca utima linie afişata este NULL, asta deoarece $var6 nu are nici o valoare determinata.

51

5.4. Valori literale şi variabile Categoriile de valori despre care ati învatat pâna acum se numesc valori literale. Deseori, este convenabil să atribui un nume unei valori, similar procedeului comun folosit în algebra. O valoare cu nume se numeste variabila, deoarece este posibila modificarea valorii asociate numelui. Prin contrast, o valoare literala este fixa. În limbajul PHP variabilele sunt reprezentate prin semnul $ urmat de numele variabilei. Numele variabilei este case sensitive, adica conteaza daca numele este scris cu litere mari sau mici. Întotdeauna numele variabilelor începe cu o litera sau o liniuta de subliniere (_) şi poate fi urmat de litere sau cifre. Iata cateva exemple de nume de variabila: $var $Numar $_elemente Pentru a asocia o valoare unei variabile, veti scrie ceea ce se numeşte o instructiune de atribuire. Iata un exemplu simplu: $temperatura = 33.5; Numele variabilei este urmat de un semn egal (=), care identifica instructiunea ca fiind o instructiune de atribuire. Semnul egal este urmat de valoarea care urmeaza a fi atribuita variabilei, în acest exemplu, valoarea este data de valoarea literala dubla (float) 33.5. Caracterul punct şi virgula (;) marcheaza sfârsitul instructiunii. Exemplul anterior a atribuit unei variabile o valoare-literala. De asemenea, puteti atribui valoarea unei variabile catre o alta variabila, prin scrierea unei instructiuni de atribuire astfel: $castigator = $nume; În acest caz, valoarea variabilei $nume înlocuieste valoarea variabilei $castigator. Acest procedeu se numeste atribuire prin referinta. Astfel o modificare facuta asupra lui $nume se va propaga automat şi asupra variabilei $castigator. Iata exemplul de mai sus asa cum va aparea intr-un script PHP simplu : Rezultatul afişat va fi: Mihai Forma valorii unei variabile se numeste tipul variabilei. Tipul unei variabile se poate modifica daca atribuiti variabilei o valoare de un tip diferit fata de cel al valorii curente a variabilei. De exemplu, instructiunea de atribuire $x = 3; Atribue variabilei $x tipul integer.

52

Daca instructiunea de atribuire $x = 3.5; va fi executata ulterior, variabila $x devine de tip float. Desi instructiunile de atribuire din limbajul PHP şi ecuatiile matematice folosesc ambele semnul egal, cele doua notiuni sunt foarte diferite, deoarece atribuirea nu este acelasi lucru cu egalitatea. Atribuirea este o operatie care înlocuieste o valoare cu o alta. Pe de alta parte, egalitatea este o relatie între doua valori. Când doua valori sunt egale, acestea ramân egale pentru totdeauna. Totusi, puteti atribui o valoare unei variabile şi ulterior puteti atribui aceleiasi variabile o alta valoare. Cu alte cuvinte, egalitatea este permanenta; atribuirea nu este.

5.5. Operatori Operatorii aritmetici sunt: adunare, scadere, inmultire şi impartire. adunare $a+$b scadere $a-$b inmultire $a*$b impartire $a/$b modulo (restul impartirii celor 2 valori) $a%$b Operatorii de atribuire sunt: Principalul operator de atribuire este = şi inseamna asocierea operatorului din stanga cu valoarea expresiei din dreapta (a nu se confunde cu egalitatea). Valoarea unei expresii de atribuire este valoarea atribuita, adica valoarea lui $a=5 este 5. $a=7; $a+=6; //atribuie lui $a valoarea 13, acelasi lucru cu $a=$a+6 $b="Buna "; $b.="ziua"; // atribuie lui $b valoarea "Buna ziua", acelasi lucru cu $b=$b."ziua";

53

Operatori multipli Intr-o constructie PHP pot fi pot fi folositi impreuna mai multi operatori. Numere aleatoare rand() este functia din PHP care genereaza automat numere aleatoare. Poate primi parametri limita minima şi maxima a numerelor generate. Functia de rotunjire round() este functia de rotunjire şi poate primi ca parametru numarul de cifre zecimale dupa rotunjire

5.6. Alte exemple de script-uri PHP: Un Exemplu de cod HTML cu PHP Corpul fişierului HTML generat pentru IP-ul În exemplul de mai sus interpretorul de PHP va transmite serverului Apache să înceapă trimiterea datelor către client chiar de la instrucţiunea echo, şi nu de la întâlnirea tagului de marcarea a începutului de document HTML cum ar fi fost normal. Să presupunem însă că, pentru fiecare accesare a acestui fişier, dorim să

54

reţinem conţinutul returnat utilizatorului într-un fişier pe server, deşi pentru exemplul furnizat, motivaţia acestei operaţiuni este nu mai mult decât didactică. Vom folosi aşadar funcţiile PHP pentru controlul ieşirii, funcţii care pot fi recunoscute uşor după prefixul ob_. Un Exemplu de cod HTML cu PHP Corpul fişierului HTML pentru IP-ul Continutul fişierului log.txt: Serverul Apache va incepe trimiterea de informatii din acest moment. Un Exemplu de cod HTML cu PHP Corpul fişierului HTML pentru IP-ul 127.0.0.1 Funcţia ob_start marchează începerea memorării informaţiilor generate de scriptul PHP fără însă a le trimite către client. În orice moment al scriptului, înainte de trimiterea codului HTML generat, se pot accesa informaţiile din zona tampon folosind funcţia ob_get_contents, lucru pe care l-am făcut şi noi pentru a stoca informaţiile pe server. La final funcţia ob_end_flush va trimite informaţiile generate către client şi va opri stocarea lor în zona tampon. Serverul web are totuşi nişte header-e standard pe care le trimite odată cu fiecare cerere pe care o primeşte. Din PHP aceste header-e se pot modifica sau se pot adăuga folosind funcţia header. Cum această funcţie va trimite direct header-ul către client, ea trebuie apelată înainte ca orice conţinut să fie trimis către client, nerespectarea acestei reguli va genera un avertisment. Pentru a evita acest lucru se foloseşte controlul ieşirii.

55

Variabile predefinite PHP ofera un mare numar de variabile predefinite oricarui script care ruleaza şi sunt functie de serverul pe care functioneaza. PHP Superglobals sunt variabile disponibile oriunde în script $GLOBALS contine referinte catre toate variabilele care sunt disponibile în scop global scriptului $_SERVER variabile furnizate scriptului de catre serverul web variabile furnizate scriptului via HTTP GET (provin dintr-un formular $_GET în care method="GET") variabile furnizate scriptului via HTTP POST (provin dintr-un formular $_POST în care method="POST") $_COOKIE variabile furnizate scriptului via HTTP cookies variabile furnizate scriptului de catre mediu $_ENV Cele mai des folosite variabile globale: adresa IP a vizitatorului $_SERVER['REMOTE_ADDR'] $_SERVER['HTTP_USER_AGENT'] informatii despre browserul folosit pagina vizitata anterior $_SERVER['HTTP_REFERER'] numele serverului $_SERVER['SERVER_NAME'] numele scriptului $_SERVER['SCRIPT_NAME']

56

Laborator 6 – Limbajul PHP. Instrucţiunile limbajului PHP. Funcţii definite de utilizator 6.1. Instrucţiunile limbajului PHP 1. Introduceţi următoarea secvenţă PHP: În browser va apare:

2. Introduceţi următoarea secvenţă PHP: 3. Introduceţi următoarea secvenţă PHP: În browser va apare:

4. Introduceţi următoarea secvenţă PHP: În browser va apare : 1, 2, 3, 4, 5. 5. Introduceţi următoarea secvenţă PHP: < ?php $tablou=array(1,2,3,4,5,6,7,8,9,0); foreach ($tablou as $element) { if ($element > 4) { continue; echo "Numarul ".$element." este mai mic decat 5;" } } ?> În browser va apare : Numarul 1 este mai mic decat 5;

58

Numarul 2 este mai mic decat 5; Numarul 3 este mai mic decat 5; Numarul 4 este mai mic decat 5;

6.2. Funcţii definite de utilizator 6. Introduceţi următoarea secvenţă PHP - un script în care se utilizeaza o functie pentru calculul ariei unui triunghi şi apoi afişează aria. În browser va apare :

7. Introduceţi următoarea secvenţă PHP În acest exemplu, incercarea de a afişa variabila locala $mesaj în exteriorul functiei bun_venit() se soldeaza cu un esec, aceasta fiind o variabila locala.

59

8. Introduceţi următoarea secvenţă PHP - Desi functiile nu pot intoarce simultan mai multe valori, se obtin rezultate similare daca se intorc tablouri, ca în exemplul urmator: În browser va apare:

9. Introduceţi următoarea secvenţă PHP - Este posibil ca argumentele transferate prin valoare functiilor să fie şi tablouri, ca în exemplul prezentat în continuare, în care functia suma_elemente() intoarce suma elementelor tabloului transferat ca argument:

60

În browser va apare:

10. Introduceţi următoarea secvenţă PHP - Transferul argumentetor prin referinta. În browser va apare:

61

6.3. Probleme propuse spre rezolvare 1. Se dau trei numere naturale a, b şi c. Sa se verifice daca sunt numere pitagorice. 2. Se da un numar natural n. Sa se verifice daca n este numar par sau impar. 3. Se dau doua numere reale x şi y. Sa se calculeze urmatoarele expresii: A=2+x-y; B=x*A+y; C=A-2*B+x. 4. Sa se scrie un algoritm pentru a rezolva în multimea numerelor reale a sistemului de ecuatii: a * x  b * y  0

  x  c* y 1

5. Să se scrie un program care să afişeze următoarele valori: 1*9 + 2 = ? 12*9 + 3 = ? 123*9 + 4 = ? ................. 123456789*9 + 10 = ? 6. Să se scrie un program care să afişeze următoarea "piramidă" de numere: 1 123 12345 ................ 1 2 ...................(2n-1) Exemplu: Se observă că pe linia k a triunghiului (k=1,2,...,n) trebuiesc afişate n-k spaţii urmate de numerele de la 1 la 2k-1. 7. Să se scrie un program care calculează aranjamente de "n" luate câte "k". 8. Să se scrie un program care să determine şi să se afişeze valoarea distanţei între două puncte, dându-se coordonatele acestora: A(x1, y1) şi B(x2, y2). 9. Să se scrie un program care să construiască un număr m din cifrele pare ale unui număr natural n, dar luate în ordine inversă. 10. Să se scrie un program care să afişeze următoarea "piramidă" de numere: 1 12 123 ......... 1 2 3.....n

62

11. Să se scrie un program care să afişeze următoarea "piramidă" de numere: n n-1 n-2 ... 3 2 1 n-1 n-2.......2 1 ......... 321 21 1 12. Sa se scrie un program care determina cel mai mare divizor comun a doua numere. 13. Sa se scrie un program care să determine cifra de control a unui numar natural n dat. Cifra de control a unui numar se obtine prin insumarea succesiva a cifrelor sale, pana cand se obtine o singura cifra. 14. Sa se scrie un program care să construiasca un numar m din cifrele pare ale unui numar natural n, dar luate în ordine inversa. Exemplu: Pentru n=2354, se obtine m=42 15. Sa se scrie un program care să determine cel mai mic numar 2. Introduceţi următoarea secvenţă PHP - O altă modalitate de parcurgere a elementelor unui tablou consta în utilizarea funcţiilor list() şi each(), ca în exemplul următor: 3. Introduceţi următoarea secvenţă PHP - Funcţia sort() întoarce valoarea true, în caz de succes, şi false în cazul în care sortarea nu s-a produs. În primul caz, funcţia atribuie noi chei elementelor tabloului.

64

4. Introduceţi următoarea secvenţă PHP - Pentru unirea a două sau mai multe tablouri într-unul singur, se utilizează funcţia array_merge(): 5. Introduceţi următoarea secvenţă PHP - Funcţia array_slice() extrage o porţiune dintr-un tablou:

7.2. Tipul obiect 6. Introduceţi următoarea secvenţă PHP – definirea unei clase şi apelul uni constructor al clasei: 7. Introduceţi următoarea secvenţă PHP – fişierul îl salvati cu numele clasa2.php. 8. Introduceţi următoarea secvenţă PHP: 9. Introduceţi următoarea secvenţă PHP – redefinirea metodelor 10. Introduceţi următoarea secvenţă PHP – tablouri de obiecte
View more...

Comments

Copyright © 2017 DATENPDF Inc.