Sunteți pe pagina 1din 10

UNIVERSITATEA ROMANO AMERICANA

BUCURESTI
















POGRAMA ANALITICA a disciplinei

PROGRAMAREA WEB AVANSATA


Predate studentilor de la
Facultatea de Informatica Manageriala
Anul II , cursuri de zi




BUCURESTI
Anul universitar
2012 2013










I. NOTA INTRODUCTIVA


Disciplina PROGRAMARE WEB AVANSATA asigura pregatirea studentilor
pentru proiectarea si realizarea de pagini WEB si aplicatii precum si integrarea
acestora intr-o arhitectura client-server dinamica, cu ajutorul celor mai
moderne si mai des folosite instrumente in domeniu : PHP si MySQL.


Modulul cursului propune studierea elementelor :

- Limbajul PHP 5 , ca limbaj de baza utilizat pentru constructia de pagini
WEB si aplicatii;
- Sintaxa SQL si lucrul cu SGBDR ul MySQL

Activitatea in cadrul acestei discipline se incheie cu examen incluzand atat
testarea pregatirii teoretice a studentului cat si o proba practica .
Verificarea si fixarea cunostintelor se va face pe tot parcursul anului dupa cum
urmeaza : - sustinerea unui test teoretic in timpul semestrului
- elaborarea unui proiect individual


Studentii care intrunesc criteriile de performanta si frecventa au posibilitatea
de a a opta pentru sustinerea examenului sau pentru considerarea ca nota finala
a aprecierii activitatii lor in timpul semestrului .

Modul de evaluare a performantelor studentului
- activitatea din timpul anului - 50 % din nota finala
- examen final - 50 % din nota finala


II. FONDUL DE TIMP
Afectat cursurilor si seminariilor











Numar de ore ( semestrul II )
Curs Seminar
22 22
III. CUPRINS

1. Introducere in PHP
- Ce este PHP
- Instalare PHP
- Scrierea programelor PHP

2. Limbajul PHP
- Tipuri de date in PHP
- Constante si conversii
- Blocuri decizionale in PHP
- Cicluri si structuri repetitive in PHP
- Functii in PHP
- Obiecte in PHP
- Lucrul cu fisiere
- Erori in PHP

3. Lucrul cu clientul
- Variabile in FORM uri
- Persistenta FORM uri ascunse, cookie uri, query strings

4. MySQL
- Elemente introductive baze de date
- Instalare MySQL
- Sintaxa SQL

5. PHP si MySQL
- Preluare de date
- Manipularea datelor

6. Procesare grafica in PHP
- Crearea unei imagini, setarea culorilor
- Desen : linii, cercuri, dreptunghiuri, text in imagine










IV. TEMATICA SEMINARIILOR



Seminar Tematica
Forma de
desfasurare
Numar
de ore
1.
Instalare PHP si a
modulului pentru serverul
Apache
Laborator 2 ore
2.
Utilizare instructiuni de
baza in PHP
Laborator 2 ore
3.
Sintaxa limbajului PHP,
comparatie cu alte limbaje
de programare
Laborator 2 ore
4.
Preluarea, prelucrarea si
manipularea variabilelor
de la client
Laborator 2 ore
5.
Persistenta in conectivitate
: Cookie, Sesiuni, Formuri
ascunse
Laborator 2 ore
6.
Instalare MySQL, Sintaxa
SQL, interogari in consola
MySQL
Laborator 2 ore
7.
Preluare, prelucrare si
manipularea datelor din
MySQL sub PHP
Laborator 2 ore
8.
Procesare grafica in PHP
generarea de imagini
dinamice
Laborator 2 ore
9.
Aplicatie Contor web cu
generare automata de
imagine
Laborator 2 ore
10.
Aplicatie Magazin
virtual
Laborator 4 ore












V. BIBLIOGRAFIE

A. Obligatorii

- PHP 5 Manual - http://www.php.net/manual
- MySQL Manual http://www.mysql.com/documentation
- Larry Ullman - PHP si MySql pentru situri web dinamice Ed. Teora
2009
- L.Welling, L. Thomson - Dezvoltarea aplicatiilor WEB cu PHP si
MySQL Ed. Teora 2007

B. Suplimentare

- Matt Doyle - Beginning PHP 5.3 Ed. Wrox 2009
- W. Jason Gilmore - Beginning PHP and MySQL: From Novice to
Professional (Expert's Voice in Web Development) Ed. Apress 2010
- Wandschneider, Marc - Core Web Application Development With PHP
And MYSQL Ed. Prentice Hall 2005
- Reinheimer, Paul Michael - Professional Web APIs With PHP Ed.
John Wiley & Sons Inc 2006
- Schlossnagle, George - Advanced Php Programming Ed. Macmillan
Computer Publishing 2009





















1. INTRODUCERE

!"! Ce este PHP ?

PHP este abrevierea de la PHP Hypertext Preprocessor.

PHP este un limbaj de programare folosit pentru creerea site
urilor dinamice si interactive si a fost introdus de Rasmus
Lerdorf in 1994.
De atunci PHP a suferit numeroase schimbari.

In termeni tehnici PHP este un limbaj tip script, cross
platform, HTML embedded si server side:

Cross platform puteti rula PHP pe sisteme de operare
diferite, in majoritatea cazurilor fara modificari.
HTML embedded codul PHP este o mixtura de
instructiuni PHP si cod HTML.
Server side programele scrise in PHP ruleaza pe un
server (in general un Web Server cum ar fi Apache, IIS,
etc..).

Desi PHP5 prinde teren in fata batranului PHP4, acesta din
urma este o implementare stabila ce ruleaza pe serverele unui
numar mare de ISP, ceea ce inseamna ca odata ce scrieti o
aplicatie in PHP4, o puteti cu usurinta gazdui un site.

1.2 Instalare PHP
*** Puteti descarca ultma versiune de PHP de pe site ul
oficial (http://www.php.net).

Instalare PHP sub Windows

Inainte de a instala PHP, este necesara instalarea unui
web server (de ex. Apache).
Apache se poate descarca de pe situl
http://httpd.apache.org.
Instalarea se face cu usurinta prin rularea executabilului
descarcat.


Installerul va solicita urmatoarele informatii:
- domeniul de retea pe care va fi instalat (de ex, daca
avem serverul www.rau.ro, domeniul va fi rau.ro )
- numele serverului (ex: www.rau.ro )
- adresa de email a administratorului serverului
- pentru cine se instaleaza Apache (All users, portul 80 sau
ca si Serviciu este recomandat pe un server de productie
sau Current user, portul 8080, manual daca dorim sa
ruleze doar pentru utilizatorul local).
- tipul instalarii (Typical pentru instalare completa mai
putin codul sursa si librariile pentru creerea de module,
sau Custom pentru a putea personaliza instalarea). O
instalare completa ocupa aproximativ 13MB de spatiu pe
disc.
- calea (path) instalarii (implicit aceasta este C:\Program
Files\Apache Software Foundation).

Dupa instalarea Apache, se poate edita fisierul de configurare
conf\httpd.conf pentru a personaliza modul de rulare al
serverului Apache.

Instalarea PHP se poate face dupa preinstalarea unui server
de web (Apache, IIS, Xitami), folosind installerul ce vine cu
versiunea PHP 5.2 sau mai noua.

Va fi necesara interventia utilizatorului pentru urmatorii pasi:
- selectarea web serverului folosit
- selectarea modulelor si extensiilor dorite
Modificarile ulterioare se pot face editand fisierul de
configurare php.ini. Adaugarea/stergerea de module se poate
face cu usurinta folosind utilitarul Add/Remove programs din
Control Panel.

Versiunile mai vechi (5.1 sau anterioare) de installer nu au
posibilitatea configurarii automate a web serverului Apache si
nici nu suporta selectarea modulelor sau extensiilor dorite.
Prin urmare, daca din anumite considerente se doreste
instalarea acestor versiuni este de preferata instalarea
manuala din arhive si nu din installer.


Instalare PHP sub Linux si alte platforme Unix

Apache este cel mai popular server de web sub Unix in lume,
prin urmare vom folosi Apache.
Trebuie ca de la bun inceput sa selectam o metoda de
instalare :
Instalare prin compilarea manuala a surselor are
avantajul dea fi cea mai flexibila solutie pentru instalari
personalizate, cu dezavantajul de a solicita cunostinte de
compilare.
Instalare prin binare are avantajul de a se instala foarte
rapid cu cunostinte minime, dar nu este tot atat de flexibil.

In cazul instalarii cu surse, sunt necesari pasii standard
unei
compilari sub UNIX :
./configure --<optiuni>
make
make install
De asemenea este necesar sa aveti librariile necesare
optiunilor de la ./configure . Ex: ./configure --with-mysql ->
implica existenta pachetului mysql instalat anterior.

Configurarea Apache(Linux)
Pentru ca apache sa poata fi pornit trebuie ca serverul pe care
rulati sa aiba un nume calificat (FQDN).
Comanda prin care asignati un nume este : hostname
exemplu.net .
Principalul fisier de configurare al Apache este httpd.conf care
se regaseste normal in /etc/apache/conf sau in
/usr/local/apache/conf , in functie de distributie sau de
parametrii alesi la instalare.
Cu un editor de text (vi, joe, jed) deschideti un fisier si cautati
libphp4.so sau libphp5.so.
Daca nu gasiti acest string, la sectiunea Modules inserati :
LoadModule /usr/local/apache/lib/libphp4.so sau unde este
Instalat pachetul mod_php (vezi comanda locate).
In cazul in care numele hostului nu poate fi rezolvat printr-o
interogare de DNS, regasiti in httpd.conf linia ServerNamesi
scrieti : ServerName exemplu.net.
Restartati Apache utilizand comanda apachectl restart
Testarea instalarii Web Server+PHP (indiferent de
platforma aleasa):

Deschideti un editor de text (notepad,textpad,vi) si scrieti
urmatoarele linii:
<?php
phpinfo();
?>

Salvati fisierul in directorul radacina al serverului web
(\InetPub\WWWRoot pentru IIS si /var/www/htdocs/html sau
/home/htdocs/html pentru Apache/Unix, respectiv <calea
unde este instalat Apache>\htdocs) si numiti-l test.php .

Deschideti browserul la adresa http://localhost/test.php si
verificati daca apare un ecran format din tabele cu informatii
despre distributia de PHP instalata.

!"# Scrierea programelor PHP
Programele PHP sunt o mixtura de trei elemente : text, cod
HTML si script PHP.
Pentru ca paginile ce contin script PHP sa poata fi procesate
de modulul PHP implementat in Apache sau alt server de
pagini Web este necesar ca paginile sa aiba acea extensie pe
care ati specificat-o la incarcarea modulului in serverul de web
(standard, extensia implicita este .php).

Primul exemplu de program - deschideti un editor de text
si scrieti :
<HTML>
<BODY>Program 1 <BR>
<?php
echo Salut studentule !!;
?>
</BODY>
</HTML>
Salvati acest fisier in directorul radacina al paginilor de web,
sub numele
de program1.php .
Deschideti pagina http://localhost/program1.php.

Veti vedea scris mesajul :
Program 1
Salut studentule !!

Daca studiem codul vom vedea ca sunt trei categorii de cod :
i) <HTML>,<BODY>,<BR> sunt elemente tag din sitaxa HTML
ii) Program 1 este text
iii) Codul cuprins intre <?php si ?> este cod PHP.

Delimitatorul usual pentru PHP este <?php , respectiv
inchiderea se face prin ?>.
Exista si varianta simpla <? , respectiv inchidere prin ?> .
Intre aceste taguri trebuie sa existe NUMAI cod PHP.

Cum functioneaza codul ?
Fisierul program1.php este trimis modulului de php incarcat in
serverul de web. Modulul prelucreaza NUMAI ce se afla intre
tagurile
<?php si ?> restul fiind trimis catre serverul web fara a fi
prelucrat sau interpretat.
Rezultatul prelucrarii este si el trimis serverului de web care
trimite mai departe catre client (browser).
Comanda echo este folosita pentru trimiterea catre serverul
de web a textului inscris intre cele doua ghilimele.
Fiecare linie de cod PHP (dupa terminare) trebuie inchisa de
semnul punct-si-virgula (;).