Documente Academic
Documente Profesional
Documente Cultură
programării web
Curs1
Premise
OUTPUT CURS:
-proiectare, implementare şi testare software web:- minim următoarele facilităţi
1. Citirea și scrierea datelor (de ex. din baze de date, fișiere, cookie-uri, obiecte de sesiune web).
2. Login, autentificare, autorizare.
3. Prelucrarea datelor utilizând logica de afaceri, iterând peste liste din datele menționate mai
sus.
4. Afișarea datelor în browser.
5. Schimbul de date cu alte aplicații web.
Materiale web
HTTP Made Really Easy - http://www.jmarshall.com/easy/http/
HTML:http://www.w3schools.com/html
PHP:http://www.w3schools.com/php
PhpWebSite project, Appalachian State University, 2004-2006, http://phpwebsite.appstate.edu.
SQL:http://www.w3schools.com/sql
Manual for the MySQL Database System, Version 5.0, http://www.mysql.com/.
https://www.php.net/docs.php
https://www.php.net/manual/en/migration70.new-features.php
slide-uri cursuri
Esența...
Cerințe finale și parțiale
1.Activitate laborator( preluarea executării sarcinilor pe baza
materialelor de laborator)- 20% (nota 5 este de la 3
interventii, nota 6 este 4 etc..)
What Is Web 2.0 - Design Patterns and Business Models for the Next Generation of Sof
tware
,
fundamenteaza conceptele Web 2.0.
Termenul de Web 2.0 - aparut in 2004, in timpul unui brainstorming intre
O'Reilly Media si MediaLive International, =>Site-ul Web2.0 Conference
Web 2.0 -se concentrează pe mai multe teme majore: AJAX, rețele sociale,
folksonomies, colaborare ușoră, social bookmarking, de partajare media
-este o schimbare fundamentală:
WEB 2.0-
Web-ul inteligent
1.Tehnologiile Semantic Web (RDF, OWL, SWRL, SPARQL, platforme de aplicatii
semantice, și datastores Protecția bazate, cum ar fi triplestores, tuplestores și baze de
date asociative)
2.Baze de date distribuite:sau "Baza de date World Wide" (wide-area
interoperabilitatea baze de date distribuite datorită tehnologiilor Semantic Web)
3.Aplicații inteligente (procesarea limbajului natural, masina de învățare, raționament
mașină, agenții autonomi)
Web 3.0 : mult mai conectat, deschis, și inteligent, cu tehnologii semantice web, baze
de date distribuite, procesarea limbajului natural, machine learning, machine reasoning,
and autonomous agents.
Web 4-5
Web 4.0 5.0 =în curs de dezvoltare de formare, primele semnale sunt în Web 4.0 va fi
web legat, care comunică cu noi ca și cum am comunica unul cu celălalt (ca un asistent
personal).
Web 4.0 este numit "symbiotic" web.
=> neîndeplinirea uneia dintre aceste condiţii, serverul va trimite un cod de eroare sau o pagină
predefinită care să informeze despre eroarea apărută.
HTML -mecanism pentru diseminarea informaţiei în World Wide Web.
Protocolul HTTP
defineşte modul prin care vor dialoga clientul şi
serverul.
Clientul va trimite o cerere (o comandă) HTTP în mod
text simplu (ex: GET, POST, HEAD, PUT) –informând
serverul despre acţiunea pe care vrea să o realizeze.
Comunicarea (=transfer de date ) Client-Server prin protocolului HTTP:
1.se realizează o conexiune client-server;
2.clientul(browser-ul) lansează o cerere;
3.serverul furnizează clientului răspunsul la cererea formulată;
4.serverul încheie conexiunea.
Un client poate fi browserul dvs. sau orice alt software care vorbește HTTP
https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
TCP/IP
TCP (Transmission Control Protocol) - schimbul corect de
pachete de date între nodurile unei reţele, adică
corectarea erorilor şi secvenţierea transportului.
Protocolul TCP/IP a apărut ca urmare a dorinţei de a interconecta fără probleme mai multe
tipuri de reţele, iar activitatea de transmisie a datelor să nu fie afectată de distrugerea sau
defectarea unei părţi a reţelei. Acesta are funcţia primară de dirijare a pachetelor de date de la
sursă la destinaţie devenind astfel un standard pentru reţelele de pe întreaga planetă.
SMTP (Simple Mail Transfer Protocol) este un protocol simplu, folosit pentru transmiterea
mesajelor în format electronic pe Internet devenind standardul pentru comunicaţiile globale prin
poşta electronică.
Serviciul WWW modalitate de funcţionare
Site -un ansamblu de pagini Web, între care existã create legãturi, pornind de la o primã
paginã a cãrei adresã reprezintã adresa site-ului, este posibilã navigarea prin toate
paginile acestuia.
Conectarea la un site Web determinã operatii:
1.browser-ul stabileste o conexiune TCP/IP cãtre server.
este specificat : protocolul la nivel de aplicatie; numãr de port utilizat.
protocolul HTTP are asociat portul 80;
2.browser-ul emite o cerere HTTP cãtre server, cerere care este constituitã din:
o linie de cerere (request-line) formatã dintr-o comandã HTTP, urmatã de un URL
si de versiunea protocolului utilizat;
un antet (request-header):contine informatii despre cerere si despre clientul
care executã cererea;
corpul cererii;
3.server-ul Web receptioneazã cererea, o interpreteazã+ emite un rãspuns cãtre
browser. Rãspunsul: un cod de stare- descrie modul de finalizare a cererii si o
scurtã descriere a codului. Codurile sunt formate din trei cifre, si au urmãtoarele
semnificatii: - codurile care încep cu 1 sunt coduri de informare, - codurile care încep
cu 2 sunt coduri de succes, - codurile care încep cu 3 sunt coduri de redirectare, -
codurile care încep cu 4 sunt coduri de eroare client, iar codurile care încep cu 5 sunt
coduri de eroare server,
un antet (response-header) contine informatii despre resursa solicitatã, eventual
alte declaratii necesare pentru livrarea rãspunsului;
un corp, format din datele transferate.
Aceastã succesiune de operatii poartã numele de tranzactie.
HTTP
header
http://station.clancats.com/writing-a-webserver-in-pure-php/
HTML element
Un element XHTML este codat cu un tag
structura: <element_name>content</element_name>
Exemple:
- paragraph:<p>Este un paragraph</p>
– header:<h1> Este un header</h1>
- elemente goale: line break: <br />
- elemente cu atribute :
<element attribute=“value”>content</element>
Exemple: elemente cu atribute:
– image: <img src=“images/flori.gif” />
– table:<table summary=“Acesta este planul pt curs”>…</table>
Elemente HTML bine formatate
- Toate elementele şi atributele sunt scrise cu litere mici
- toate valorile atributelor trebuie incluse între ghilimele
- toate elementele care includ elemente goale trebuie terminate
- toate elementele trebuie să fie corect imbricate =>LIFO
I. Un FORMULAR HTML
-ce adună datele;
-se transmit datele la un eveniment( click pe un buton, enter, etc.)
Definire variabilă
1. Atributul name: se defineşte numele variabilei;
2. Atributul id: la fel ca atributul name
3. Ce fel de tipuri de date conţine variabila
4. Serverul vede: firstname=Viorel
Variabile
Numele variabilelor
1. acces la conţinutul acestora
2. trebuie să fie unic
3. sugestiv
De ex:
tricoufavorit:OK
tricou_favorit:OK
a:groaznic
Obs:
Numele variabilelor trebuie să înceapă cu litere din intervalul ([A-
Za-z]) şi pot fi urmate de oricâte litere, cifră din intervalul ([0-9]) sau
liniuţă de subliniere (“_”)
Input types
Atribut formular=>action
action=“target”
1.Este obligatoriu
2.Defineşte cum se vor prelucra datele
3. Acţiunea poate:
- să fie un script: de exemplu:
action=“doSomething.php”
-să fie un link mailto: de exemplu: action=
mailto:email@yahoo.com
-să se apeleze pe el însuşi: de exemplu: action=“#”
Atribut formular=>method
Se stabileşte cum se va trimite informaţia
POST sau GET
POST
1.numai serverul vede informaţia
2.mai securizat
GET
1. datele se întorc în URL
2. util pentru formulare de căutare
Atribut formular=>enctype
Se defineşte cum se codează(encoded) informaţia
value=“”
• “application/x-www-form-urlencoded”: implicit
• “text/plain”: transformă spaţiile în “+”, dar nu şi caracterele speciale
• “multipart/form-data”: necesare la încărcarea fișierelor
<input type=“text”/>
Un singur cuvânt sau o linie de text
Atribute:
type=“text”
• name=“variableName” (obligatoriu)
• id=“variableName” (avansat.Face posibilă legarea acestui element
de un script)
• value: definirea valorilor implicite
• size: mărimea textbox-ului
• maxlength: lungimea maxină admisă
<form action=“search.php” method=“post”>
<input type=“text” name=“search” value=“Scrie text de căutare ” />
<input type=“submit” value=“Search” />
</form>
<input type=“submit”/>
1. Afişează în browser un buton
2. Transmite datele de pe form la server
3. Nu are atribute obligatorii
4. value=“” afişează text pe buton
value=“” (obligatoriu)
• valoare care se trimite la action=“…”
<form action=“oferta.php”>
<input type=“hidden” name=“oferta” value=“da” />
</form>
<select>and<option>
<select>and<option> se combină pentru a crea meniu dropdown
<form …>
<select name=“Universităţi”>
<option value=“UBB”>Universitate Babeş-Boloyai</option>
<option value=“UTCN”> Universitatea Tehnică</option>
<option value=“UMV”> Universitate de Medicină Veterinară</option>
</select>
</form>
<select>attributes
name=“”
nu este obligatorie, dar recomandata
multiple=“multiple”
permite să selectați mai mult de un element
size=“”
numărul defineşte câte elemente sunt afişate
<option>attributes
value=“…”
nu este obligatoriu
selected=“selected”
inidică ce element este selectat implicit
HTML5
Noi controale de forma: calendar, date, time, e-mail,
url si search.
- a apărut în 1994 din dorinţă lui Rasmus Lerdorf de a afla câte persoane îi accesează
CV-ul on-line. El a numit setul de scripturi create PHP (Personal Home Page).
- succesul lui i se datorează lui Zeev Suraski şi Andi Gutmans care au rescris motorul
PHP din cap în coadă, motor ce poartă numele de Zend începând cu versiunea a
patra
- un limbaj ideal pentru construirea de pagini Web dinamice.
- poate fi rulat pe mai multe platforme;
- se poate conecta la mai multe baze de date, în particular baze de date relaţionale
create cu MySQL.
- se poate include în cod HTML.
- permite crearea de pagini HTML statice şi din loc în loc, acolo unde este nevoie, să
se introducă dinamism cu PHP.
- este open-source
- are o sintaxă simplă, variabilele nu trebuie declarate, tipul acestora se stabileşte la
iniţializarea lor cu o valoare şi în plus numele de funcţii sunt intuitive.
- Rulează pe server
Evoluția PHP
Scripturile PHP
Se execută în urma unui eveniment
1.Când un utilizator trimite un form
2. Când un utilizator accesează un URL
INSTRUMENTE
Limbajul PHP oferă următoarele facilităţi:
1. manipularea conţinutului paginilor web;
2. transmiterea header-elor HTTP pentru
autentificare;
3. setarea cookie-urilor;
4. redirecţionarea utilizatorilor;
5. asigurarea spargerii (paser) fişierelor XML;
6. crearea şi manipularea imaginilor, animaţiilor şi a
PDF-urilor;
7. conectarea la un server de e-mail.
8. execuţia rapidă a scripturilor PHP deoarece
interpretorul este inclus în server-ul WEB;
9. timpi buni de răspuns.
10.conţine numeroase funcţii utile;
Principiul de funcţionare a limbajului PHP
1. browser-ul trimite către server-ul Web o
cerere HTTP pentru un fişier PHP.
2. Server-ul recunoaşte că fişierul cerut
conţine cod PHP, în consecinţă va lansa
parser-ul PHP, care va primi la intrare
fişierul respectiv.
3. Parser-ul va identifica secvenţele PHP,
care în cadrul codului HTML sunt cuprinse
între marcajele „<?php” şi „?>” şi le va
interpreta.
4. Tot ce nu este cod PHP este trimis spre
ieşirea standard fără nici o prelucrare.
5. Codul PHP poate scrie la rândul său în ieşirea
standard prin comenzile prestabilite cum ar fi „echo”
sau „print”.
6. serverul Web intercepteză ieşirea standard a
parser-ului şi transferă totul browser-ului care a
Caracteristici cod PHP
- toate instrucţiunile PHP se termină cu punct şi virgulă.
- poate fi imbricat cu cod HTML ;
- se pot crea pagini HTML fără cod PHP în ele şi să fie salvate cu
extensia php
- se poate schimba valoarea unei variabile după necesităţi
-un fişier ce conţine script-uri PHP se salvează de regulă cu exensia .php,
fiind localizat în directorul în care rezidă documentele serverului web;
- orice script PHP este cuprins între tag-urile <?php şi ?>;
- instrucţiunea PHP care produce output în pagina HTML este echo;
- rularea unei pagini care conţine script PHP se va face întotdeauna prin
intermediul serverului de web;
Obs: în mod implicit (deci fără a modifica setările de instalare) limbajul
PHP, nu este case-sensitive -> cuvintele rezervate ale
limbajului(instrucţiunile) respectiv funcţiile (fie că e vorba de cele
predefinite ale limbajului, fie că e vorba de cele definite de către
utilizator).
Crearea paginilor PHP
Se realizează cu o serie de editoare cum ar fi: Notepad, editoare PHP
O pagină PHP este alcătuită din:
• text;
• tag-uri HTML sau XML;
• comenzi şi instrucţiuni PHP;
• comenzi şi instrucţiuni MySQL.
<html>
<head>
<title>Exemplu de afisare</title>
</head>
<body>
<?php
print "Comanda de afisare a datelor pe ecran";// se afiseaza pe ecran textul scris între
//ghilimele
?>
<br>
<?php
echo "Limbajul PHP"; // afiseaza pe ecran textul dintre ghilimele
?>
</body>
</html>
În exemplul anterior ieşirea PHP care ajunge la browser, poate fi vizualizată cu comanda Source a
meniului View, iar rezultatul va fi:
?>
</body>
</html>