Sunteți pe pagina 1din 55

Universitаtea Liberă Internațională din Moldova

Eugeniu Gârlă
dr.,

conf. univ.,

profesor de informatică de grad superior

e-mail: eugeniugarla@yahoo.com

Limbajul PHP. Ghid

Chișinău 2021
Ce este acest Ghid?
Acesta ghid este un curs de
inițiere în WEB Development
folosind limbajul PHP. Ghidul oferă
informații complete ce pot fi folosite
de oricine dorește să invețe și să
dezvolte aplicații web, utilizând PHP.
Ghidul cuprinde noțiuni legate de
limbajul PHP, explicații, exemple
practice și acoperă întregul ciclu de
invățare. Astfel, ghidul reprezintă o
resursă completâ în invațarea
limbajului PHP. Parcurgând acest curs
veți putea dobândi noțiunile necesare
înțelegerii și creării scripturilor PHP de
orice nivel de complexitate.
Structura Ghidului
Acest ghid cuprinde mai multe lecții,
deseori descrise sub formă de
cuvinte-cheie, grupate (2 variante:
de 15 și 10 respectiv) în funcție de
dificultate:
▪ lecții introductive în care se explică
ce este și cum functionează PHP și
în general POO
▪ lecții despre elementele de bază
ale limbajului PHP
▪ lecții despre facilitățile avansate ale
limbajului PHP plus SGBD MySQL
▪ aplicații practice mai complexe cu
We Builder
▪ informații adiționale, care pot fi
utile oricarui dezvoltator web

Ce trebuie să știți pentru a lucra


în PHP?
Pentru a putea începe să programați
în limbajul PHP, aveți nevoie de
urmatoarele:
▪ de un browser (Firefox, Internet
Explorer, Chrome, Opera, Safari,
etc.)
▪ un server web ce dispune de
interpretorul PHP, concret -
Appache
▪ de un editor text - ex: We Builder
▪ cel mai bine să salvați scripturile
pe care le creați în folderul
htdocs/XAMPP
▪ SGBD - ex: MySQL
▪ Pachet integrat - ex: XAMPP
PLAN CURS PHP

CURS 15 LECȚII / CURS 10 LECȚII

PRELEGERI PRACTICA PRELEGERI PRACTICA

1.Programarea
1.Programarea
XAMPP Orientata XAMPP
Orientata Obiect
Obiect
2.OBIECT - 2.INTRODUCE
NONOBIECT RE IN PHP
3.INTRODUCER
3.COD IN PHP WeBuilder
E in PHP
4.INTRODUCER 4.PROGRAMM
E in PHP 1 ING IN PHP
5.PROGRAMM
5.COD IN PHP WeBuilder
ING IN PHP 1
6.PROGRAMMIN
6.MYSQL PHPMyAdmin
G IN PHP
PHPMySQL/
7.PROGRAMMIN
7.MYSQL 1 QPphpconnect
G IN PHP 1
DB.php
8.SITE 1 IN QPindex1.BDM
8.MYSQL PHPMyAdmin
PHP YSQL.php
PHPMyAdmin/
9.SITE 2 IN QPindex4.busi
9.MYSQL 1 QPphpconnect
PHP ness.php
DB.php
10.WEB PAGE IN 10.RECAPITUL
HTML + CSS
PHP ARE
11.SITE 1 IN
QPindex1.BDM
PHP/
YSQL.php
verificareXAMPP
12.SITE 2 IN QPindex2.navig
PHP/verde+flori ator.php
13.SITE 3 IN QPindex3.cenz
PHP/cenzurare urare.php
14.SITE 4 IN QPindex4.busin
PHP/Bootstrap ess.php
15.SITE 5 IN QPindex5.frame
PHP/CursValutar work.php
Lecția 1

Programarea Orientată Obiect (POO):

<-> limbajele clasice universale de


programare au timp un mai bun la
execuție decât cele pentru WEB
DEVELOPMENT;
<-> limbajele POO se mai numesc
limbaje de server.
0.OBIECT: 0,1,1:n, mecanismul garbage
collection, obiect + referințe în memorie;
în diferite limbaje și tehnologii se
definesc diferit; fie Javascript și PHP: în
Javascript - constructor, in PHP class A
{}; caracteristici: $c1, $c2, $c3=5,…cu
valori; metode - function; access -
public, …; constructor - magic; O
PRIMITIVĂ ARE O SINGURA VALOARE,
UN OBJECT MAI MULTE!!! - exemplare,
replici, etc.; în POO orice este un event,
care cel mai des se produce pe WEB
Page și care trebuie prelucrat (parcurs,
citit, deschis, inchis, schimbat, ascuns,
dinamizat, stilizat, etc.); API leagă mai
multe componente - de obicei class,
inclusiv cele încapsulate
I.POLIFORMISM - o sigura metodă =>
mai multe versiuni: ex: Abs(), are labs,
fabs, etc.;

II.INCAPSULARE => limitare vizibilitate


doar în object;

III.MOSTENIRE - extend => derivate de la


class;

IIIa.VIZIBILITATE => acces date;


IV.Comparații cu APLICATII NET: C# +
Visual Studio + SQL Server, JAVA+
Eclypse, Kepler;

V.WEB DEVELOPER - PHP, PYTHON,


JAVASCRIPT
V.I.WEB DEVELOPER: SERVER-schema
FTP este acronimul pentru File Transfer
Protocol (Protocolul de Transfer al
Fișierelor) și este cea mai folosită metodă
pentru transferul fișierelor, indiferent de
tipul și dimensiunea acestora, de la un
calculator la altul, prin intermediul
internetului. FTP se folosește atunci când:
    - se transferă (upload) fișierele unui site
la un server web
    - se înlocuiește un fișier sau o imagine
    - se încarcă (download) fișiere de pe un
alt calculator
    - se permite accesul unei alte persoane
pentru a încărca un fișier dintr-un anumit
site.

V.II.SITE DINAMIC:
Instrumentele minime de care aveţi
nevoie pentru a realiza documente HTML
sunt, în esenţă, următoarele: un editor de
text, cu ajutorul căruia să scrieţi
documentul, un browser, prin intermediul
căruia să vizualizaţi aspectul şi conţinutul
documentului, un editor grafic cu care să
prelucraţi imaginile pe care le veţi
introduce în pagină şi o conexiune la
Internet.
Corelația Site <=> Page WEB:
site-ul se încarcă de fiecare dată, pagina
WEB - nu;
site static: doar HTML+CSS;
site dinamic: BD + LP + editor/GUI/
altceva, interface, etc.;
caracteristici site: tipologie, tematică,
poze, animații, desenare-GUI, design,
etc.;
proiectare site - software:
frontend - ce vede utilizatorul WEB
Page, ex: limbaj încorporat;
backend - software pentru proiectare -
limbaj server, ex: DOM - HTML+CSS
încorporat;
fullstack -ambele, etc.

V.III.TEHNOLOGIA INFORMAȚIEI - TOP,


tabloul anului 2021
1 - pachete
2 - platforme BOOTSTRAP, SCSS -
preprocesare, inspector, etc.

V.IV.IDLE + REDACTOR:
V.V.FRAMEWORK - TOP 5
PHP: xampp, Laravel
Laravel este un MVC PHP framework.
Laravel a devenit cel mai popular
framework PHP gratuit, open-source din
lume, deoarece poate trata aplicații web
complexe în siguranță, într-un ritm
considerabil mai rapid decât alte
framework-uri. Laravel simplifică
procesul de dezvoltare prin ușurarea
sarcinilor obișnuite, cum ar fi rutarea,
sesiunile, memorarea în cache și
autentificarea.
JavaScript: javascript-node, javascript-
angular;
Python: django-python, tkinter-python,
pandas-python, data science-python,
etc;

V.VI.SERVICE: mașini virtuale (JVM,


Runtime, venv), sistem de operare,
interface(cli), compilator, styling,
browser, bibliotecă, checklist-veriicare
program, îndrumar, tutorial, bash-
SHELL, Visual Studio Code Extensions,
touchscreen, environment, plugin,
dicționar, stateless-resetarea valorilor
definite la rularea anterioară la fiecare
execuție, etc.

V.VII.GITHUB - change files system;


repository; commit - savein git; lucrul cu
redactor, ex.: VS Code;

V. V I I I . S T R U C T U R A C U R S U L U I D E
PROGRAMARE WEB

nivel I
1.Modul de funcționare a tehnologiilor
client-server și particularitățile fiecareia
2.Baze de date
-Prezentarea modulului ca interfața grafică
de lucru cu bazele de date
-Crearea unei baze de date relaționale
-Inserarea, actualizarea, extragerea și
stergerea datelor prin interogări
-Indecsi, chei primare și chei străine
-Filtrarea datelor prin cautări avansate,
funcții de prelucrare a datelor

3.Introducere în limbajul WEB


-Prezentarea limbajului WEB, definirea
variabilelor, constantelor și operatorilor
-Comparatie cu alte limbaje
-Instrucțiuni de control (if, elseif, switch),
instrucțiuni repetitive (for, foreach, while)
-Funcții predefinite. Crearea de funcții noi

4.Interconectatrea cu baza de date


-Conectare la server și selectarea unei
baze de date
-Prelucrarea informației prin funcții și
formatarea ei pentru afișare
-Metode de protejare împotriva atacurilor
-Inchiderea conexiunii la server

5.Aplicatie practica de tipul unui site


dinamic:
-proiectarea structurii site-ului și a bazei de
date, cele mai bune practici
-scripturile necesare procedurilor de
adăugare și afisare a datelor
-gruparea înregistrarilor pe categorii
-sondaj de opinie cu generare automată a
rezultatelor
-motor de cautare intern
-restricționarea funcțiilor numai pentru
utilizator autentificat

nivel II
1.Introducere în programarea obiect-
orientată
-crearea unei clase și definirea proprietăților
și metodelor aferente
-instanțierea obiectelor; reutilizarea codului
-extinderea claselor prin moștenire
-definirea metodelor și proprietatilor publice,
private sau protejate

2.Limbajul WEB
-menținerea activitatii utilizatorului și
stocarea de informații
-tehnici de detecție și filtrare in funcție de
browser sau IP
-programarea obiect-orientată
-prezentarea celor mai frecvente modele
pentru aplicații web
-integrarea bazelor de date în abordarea
orientată pe obiecte
-protejarea împotriva atacurilor
-prelucrarea fișierelor XML și integrarea lor
în aplicația web
V.IX.STRUCTURA CURSULUI DE WEB
DESIGN

1. Modelul client-server. Principii de


funcționare
2. Prezentarea mediului de lucru
3. Prezentarea limbajelor HTML
-Standardele HTML
-Structura unei pagini web
-Tag-uri HTML de formatare (paragrafe,
liste, tabele, hyperlink-uri, imagini)
-Formulare, tag-uri meta
-Diferențe între standarde
-Bunele practici

4.Prezentare CSS (Cascading Style


Sheets)
-Introducere în CSS. CSS box model
-Prezentare
-Separarea între structură și prezentare
-Metode de înserare a stilurilor în paginile
HTML (extern, intern, inline)
-Proprietăți CSS și aplicarea lor elementelor
HTML
-Design fluid vs. design fix
-Pseudo-selectori și pseudo-elemente
-Minimizarea cererilor catre server prin
utilizarea CSS sprites

V.X.Subiecte clasice la disciplină:


• Creaţi o mapă de prezentare a unui
portofoliu de produse
• Creaţi o agendă online
• Creaţi un sistem de inregistrare/
autentificare
• Realizaţi un sistem de rating pentru un
portofoliu de produs
• Să se implementeze un manager Web al
informaţiilor personale ale mai multor
utilizatori
• Să se realizeze o aplicaţie Web pentru
managementul formelor de petrecere a
vacanţei oferite de o agenţie de turism
• Să se implementeze o aplicaţie Web
pentru managementul datelor referitoare
la rezervările şi încasările la spectacole
• Să se implementeze o aplicaţie Web de
management al informaţiilor despre
cinematografe
• Să se realizeze o aplicaţie pentru testare
online bazat pe grile
• Să se implementeze o aplicaţie Web
pentru managementul abonaţilor unei
companii de TV
• Să se realizeze un sistem online de
gestiune a articolelor dintr-un jurnal
ştiinţific
• Să se realizeze o aplicaţie pentru evidenţa
creditelor bancare în cadrul unei bănci
• Să se realizeze o aplicaţie pentru
gestiunea activităţii unei societăţi de
transporturi navale
• Să se realizeze o aplicaţie pentru
gestiunea activităţii unei societăţi de
transporturi aeriene
• Să se realizeze o aplicaţie Web pentru
prezentarea unui cabinet medical
• Să se realizeze o aplicaţie Web pentru
prezentarea activităţii unei agenţii
imobiliare
• Să se realizeze o aplicaţie Web pentru
prezentarea şi gestionarea activităţii unei
biblioteci
= Catalog de note
= Mapă pentru produse
= Agendă
= Înregistrare la manifestare
= Prezentare companie
= Rating
= Manager WEB
= Play list
= Rezervare bilete
= Test-grilă
= Abonați cablu
= Publicații științifice
= Evidenta credit la Bancă
= Agenție imobiliară
= Cartotecă bibliotecă

V.XI.Competențe:

Competenţe specifice (CS):


Elaborarea aplicațiilor web dinamice pe partea
de client-side.
Asigurarea funcționalității site-ului, conform
specificațiilor tehnice, prin intermediul
limbajelor şi tehnologiilor de programare
client-side.
Actualizarea site-ului prin adăugarea de noi
tehnologii la structura deja creată în scopul
îmbunătățirii funcționalității lui.
Testarea funcțională a aplicațiilor web din
cadrul site-ului.

Subcompetenţe (SC):
Argumentarea utilizării corecte a elementelor
unei pagini Web.
Utilizarea elementelor avansate de afişare a
informaţiilor pe pagină.
Transmiterea informaţiei în cadrul unei
pagini.
Utilizarea corectă a variabilelor şi operaţiilor.
Utilizarea funcţiilor predefinite.
Utilizarea arhitecturii client/server.
Recunoaşterea datelor şi metodelor unui
obiect.
Prelucrarea datelor şi metodelor unui obiect.

V.XII.XAMMP, instalare-meniu clasic:

0 - General, Services, Network, Volumes,


Log
1 - lampp/htdocs
2 - index.php
3 - ***.com - generat la instalare sau
localhost: 8080/index.php alte aplicații
=> în tripletă!!! (HTML+CSS+PHP)
Teme pentru acasă:
OBIECT - NONOBIECT în PHP ?

Lecția 2

PHP: OBIECT și NONOBIECT

POO - este cea mai des intalnită


utilizare, dar se poate scrie PHP cod și
fără obiect - fie careva procedură-funcție
cu return obligatoriu! pentru urmatoarea
iterație, de exemplu lucrul cu BD - prin
array asociativ [ ] pentru update
câmpuri; clasa apare odată cu new ();
obiectele pot fi repetate de mai multe ori
în cod, dacă așa cere site-ul;
REDACTARE:
A)Visual Studio Cod;
B)Este bine de știut că în scriptul PHP puteți
îngloba și HTML;
C)Putem introduce în scripturi PHP și un
cod JavaScript;
ex1.Obiect + non-obiect
ex2.This
a)function
b)class
ex3.Constructor
ex4.Moveto și Readto
ex5.Public, private, protected
ex6.Variabile
ex7.Funcții
ex8.Metode
ex9.Poliformism
ex10.Class
ex11.var_dump

PROIECTARE SITE la PRACTICĂ


1 - adresare BD MySQL, operații
matematice;
2 - expoziție flori, prețuri din BD,
navigator google;
3 - ziua, data, ora, cenzurare,
multiplicare tabele;
4 - site pentru business, BOOTSTRAP;
5 - framework, preprocesor, etc;

LIMBAJUL PHP
Selectarea limbajului de scriptare
Instalarea aplicațiilor necesare pentru
serverul local
Configurarea serverului local
Scrierea scripturilor
Executarea scripturilor
Comentarea scripturilor
Depanarea scripturilor
Definirea variabilelor și constantelor în script
Scrierea expresiilor utilizând variabile,
constante și operatori

Limbaje de programare pentru server


Caracteristicile de bază.
Dezvoltarea limbajului.
Server Web local.
Editoare de cod.
Sintaxa limbajului.
Tipuri de date.

TESTE:
Lecția 3

INTRODUCERE în PHP
PHP(Hypertext Prepocessor) este un
limbaj de programare orientat spre WEB
ce permite dezvoltatorilor crearea de
aplicaţii cu conţinut dinamic, care
interacţionează cu baze de date.

Vocabularul limbajului este format din:


- setul de caractere
- identificatori
- separatori
- comentarii

Tipuri structurate de date:

Tipul tablou
PHP pune la dispoziţie un tip optimizat
de date definit ca tipul tablou care
asigură facilităţi multiple pentru
definirea şi prelucrarea tablourilor
unidimensionale şi multidimensionale.
Tipul obiect
O colecţie de date şi metode care
utilizează aceste date definesc o clasă.
Datele unei clase sunt reprezentate prin
variabile iar metodele sunt funcţiile
membru ale clasei astfel definite. Un
obiect este o instanţiere a clasei din care
face parte. Accesul la datele şi metodele
membre ale unei clase se face cu
ajutorul operatorului ->. În PHP definirea
unei clase se face cu ajutorul tipul class.

Funcții:
nu au $ in față !!!
- Utilizarea funcțiilor predefinite
- Definirea funcțiilor proprii
- Recursia

XAMMP:

instalare-(I)
General, Services, Network, Volumes,
Log
1 - lampp/htdocs
2 - index.php
run:
folder htdocs in Visual Studio Code:
Open Folder/htdocs; files: php, html,
css, txt, png, pdf, json, alte folder, etc.;
run 1:
realmente avem nevoie de mai multe
index.php, deaceea se vor numi
index1.php, index2.php, etc., efectuând
rename de fiecare dată;
run 2:
We builder - lucrează doar cu php:
descriere;

Desktop-(II)
la instalare cu Bitnami rezultatele apar
pe localhost: 8080 adică portul se arată
explicit !!!

Teme pentru acasă:


echo și print ?

Lecția 4

INTRODUCERE în PHP. Continuare


folder: phpinfo.php
sesiuni (de lucru cu un server):
get - /? cerere: adresare catre server
pentru a primi un răspuns pe index.php,
ex: magazin on-line
print_r($_GET) - în pagină; cererea ia
forma de masiv asociativ, cel mai des în
form din html
post - /? Transmitere info la server, ex: în
form !!!

Crearea unei sesiuni


Salvarea variabilelor de sesiune
Transmiterea sesiunii
Sesiuni
Securitatea datelor
Criptarea datelor prin funcții definite

teste:

Aplicaţii clasice in PHP:


1.Realizaţi un formular pentru colectarea
datelor legate de personalul unei firme.
Se vor reţine următoarele informaţii:
codul angajatului, numele, funcţia, locul
de munca, salariul.
2.Pentru participarea la un concurs
naţional de comunicări ştiinţifice,
organizatorii au pregătit un formular on-
line de înregistrare. El permite
introducerea următoarelor informaţii:
numele, şcoala, localitatea, secţiunea la
care participă, parola.
3.O firmă ce recepţionează produse de la
diverşi furnizori, are o aplicaţie de
evidenţă orientată spre web. Astfel, o
pagină permite înregistrarea
următoarelor date: numele furnizorului,
denumirea produsului, tipul mărfii
(alimente, băuturi, cafea ţigări), cantitate,
preţ.
4.Realizaţi un formular pentru
introducerea următoarelor date legate de
o persoană: cod, numele, adresa studii
(generale, liceale, superioare, doctorale),
funcţie, stare civilă.
5.Realizaţi un formular pentru
introducerea următoarelor date despre o
bibliotecă: nume, carte, autor, editura,
an apariţie, starea cărţii
(nesatisfăcătoare, satisfăcătoare, bună,
foarte bună), nr. exemplare disponibile.
6.Pentru evidenţa medicamentelor dintr-
o farmacie, se utilizează formulare.
Pentru introducerea de noi
medicamente, formularul conţine:
denumirea medicamentului, unitate de
măsură(comprimate, fiole, grame,
mililitrii), denumirea producătorului,
temperatura de păstrare, eliberare fără
reţetă (da/nu).

Teme pentru acasă:


array asociat ? label ?

Lecția 5

COD ÎN PHP: We Builder


- instalare
- testare
magic method:

__construct
__destruct
__call
__callStatic
__get
__set
__isset
__unset
__sleep
__wakeup
__toString
__set_state
__clone,
etc,

Lecția 6

PROGRAMMING IN PHP
vizibilitate: Spațiu de vizibilitate

teste:

Teme pentru acasă:


1.Să se creeze în PHP un un fişier care va
conţine toate numere naturale mai mici ca 200,
cîte 4 în rând. Afişaţi conţinutul fişierului.
2.Creaţi în php clasa pereche: unde câmpul first
reprezintă numărul real, cîmpul second – un
număr întreg. Realizaţi un constructor cu 2
parametri a clasei. Realizaţi în clasă metoda
putere() care ridică numărul first la puterea
second (la realizare nu vă folosiţi de funcţie
standardă pow(), prevedeţi şi cazul puterelor
negative).
3.Creaţi codul PHP, care realizeză inserarea în
baza de date valorii scrise într-o cutie de editare.
4.Să se scrie un program PHP care să determine
cifra de control a unui număr natural n dat. Cifra
de control a unui număr se obţine prin
insumarea succesivă a cifrelor sale, până când
se obţine o singura cifră.
5.Să se creeze în PHP un un fişier care va
conţine toate numere naturale mai mici ca 200,
câte 4 în rând. Afişaţi conţinutul fişierului.
6.Creaţi codul PHP, care realizeză ştergerea din
baza de date a valorii scrise într-o cutie de
editare.
7.Realizaţi clasa Shape, din care sunt derivate
clase Rectangle şi Circle. Fiecare clasă are
metode Aria şi Perimetru.
8.Să se creeze în PHP fişier, care conţine
informaţii despre discul curent.
9.Creaţi codul PHP, care realizeză modificarea
în baza de date valorii scrise într-o cutie de
editare pe o altă valoare.
10.Creaţi în php clasa Triunghi, care conţine 3
câmpuri reale (lungimile laturilor triunghiului).
Realizaţi metode de calcul a perimetrului şi ariei
triunghiului.
11.Realizaţi un script care calculează pătratele şi
cuburile numerelor de la 0 la 10 şi afişează
rezultatul în pagină.
12.Creaţi codul PHP, care realizeză afişarea
conţinutului unui tabel din baza de date.

Lecția 7

PROGRAMMING IN PHP. Continuare


cod multiplicare array:
$a = Array( Array(1,2),Array(4,5));
$b = Array( Array(7,5), Array(3,2));
$r=count($a);
$c=count($b[0]);
$p=count($b);
if(count($a[0]) != $p){
echo "Incompatible matrices";
exit(0);}
$result=array();
for ($i=0; $i < $r; $i++){
for($j=0; $j < $c; $j++){
$result[$i][$j] = 0;
for($k=0; $k < $p; $k++){
$result[$i][$j] += $a[$i][$k] * $b[$k][$j];
}}}
print_r($result);

Operator for:
array asocitaiv, label la parsing:
ex: $cars=array («BMW» =>»X5»,
«VW»=>»Passat»);
=> key vizibilitate: print_r();echo $cars
[«VW»];
Operator if:

Lecția 8

MYSQL

Conectarea la serverul de baze de date


Deconectarea de la serverul baze de date
Crearea bazei de date
Selectarea bazelor de date
Ștergerea bazelor de date
Transmiterea de interogări serverului de date
BD:Tabele
Tipul câmpului
INT
VARCHAR
TEXT
-Introducerea datelor
-Scoaterea Datelor
-Selectarea unor date
-Actualizarea bazei de date

Concluzii:
Folosirea bazelor de date pe Web
deschide noi şi mari posibilităti de lucru
în Internet şi poate face mult mai
puternic un Web, economisind timpul de
actualizare, permitând utilizatorilor:
- să interacționeze,
- să răspundă,
- şi multe altele…

Lecția 9

MYSQL. Continuare

PHPMyAdmin-interface:
192.168.64.2

Lecția 10

WEB PAGE și SITE în PHP


HTML + CSS/ sau alte combinații
I.SITE:
project WEB Development: realmente în
proiectare site sunt necesare file.html,
file.txt, file.css, file.py etc., atunci este
mai bine de creat proiect separat;
html.file: link, heading/p/div/, id, class,
button, tag script;…
css.file: descriere: body - inclusiv
adrese de url; button; …
py.file: declarari clase, import;…
TIPOLOGIE SITE:
economie + business,
promo,
științifice,
distractive,
cognitive,
jocuri,
natură,
cunoștințe,
educative,
teste,
muzică,
film,
sport,
știri,
meteo,
anunțuri,
etc.

I I . W E B P a g e : P H P, J AVA S C R I P T,
PYTHON, ETC.

Lectia 11
site 1

Site de verificare
script

<?php
echo '<b>'.(" WEB page
GARLA_EUGENIU").'<b>'.'<b>'.'<b>'."<br
>"."<hr>";
echo (" 22.12.2019
").'<b>'.'<hr>';
echo (" autor: Garla
Eugeniu").'<b>'.'<b>'.'<br>'.'<hr>';
include 'test.php';
echo ("<hr>");
for ($i=1;$i<=2;$i++){};
?>
<?php
require_once 'meniu.php';
?>
<?php
require "connectBD.php";
?>
<!DOCTYPE html>
<html>
<head>
<title> SITE MODEL </title>
<link rel="stylesheet" type="text/css"
href="style1.css"
</head>
<body bgcolor="green">
<?php
echo $meniu;
$sql ="SELECT * FROM garla";
$result =mysqli_query($connect_BD,
$sql);
echo ("Lista PASSWORD din tabelul
Bazei de Date")."<b>".'<b>'.'<br>';
echo
("**************************************")."<b>"
.'<b>'.'<br>';
while ($row =$result->fetch_assoc()){
echo (" password : ");
echo $row["password"].'<b>'.'<br>';
}
echo ("<hr>");echo ("<hr>");echo
("<hr>");
echo ("Rezultatul operatiilor efectuate :
").'<br>'.'<br>';
require "style.css";
echo ("<hr>");echo ("<hr>");echo
("<hr>");echo ("<hr>");
?>
</body>
</html>

Lecția 12
site 2

Site Verde + Flori

Lecția 13
site 3

Cenzurare date + Calculator


script

<!DOCTYPE html>
<html>
<head>
<title> Simple WEB Page </title>
<style>
div h3 {
margin:2px;
position:300px;
bottom:150px;
right:25px;
}
</style>
</head>
<body bgcolor="yellow">
<h3> IN PAGINA SE AFISEAZA ZIUA,
DATA, ORA +
SE ASCUND CUVINTE SI SITE-URI
CENZURATE + MULTIPLICARE
TABELE</h3>
<p> <link rel="stylesheet" type="text/
css" href="style4.css"</p>
<?php
echo '<b>'.(" PHP WEB page
").'<b>'.'<b>'.'<b>'."<br>"."<hr>";
echo (" Create 22.04.2020
").'<b>'.'<hr>';
echo (" autor: Garla
Eugeniu").'<b>'.'<b>'.'<br>'.'<hr>';
//Data+Ora
echo'<br> <a href="style1.css"> </a>';
date_default_timezone_set('Europe/
CHISINAU');
echo date('l');
echo '<br />'. date('j-F-Y');
echo '<br />'. date('H:i:s');
//Cenzurare cuvinte - functia :
preg_replace
$string=('Allo !!! vand droguri');
$string1=('www.abcdefghijklmn.inf');
$patts1='/www.abcdefghijklmn.inf/';
$patts = array();
$patts[0] = '/vand/';
$patts[1] = '/droguri/';
$patts[2] = '/!/';
$rs1='www.##############.inf';
$rs = array();
$rs[2] = '****';
$rs[1] = '+++++++';
$rs[0] = '-';
echo '<br>'.'<hr>';
echo preg_replace ($patts,$rs,$string);
echo'<br>'.'AICI ESTE ASCUNS UN TEXT
CENZURAT !!!'.'<br>';
echo preg_replace
($patts1,$rs1,$string1);
echo'<br>'.'AICI ESTE ASCUNS UN SITE
INTERZIS !!!'.'<hr>';
echo "<h3>MULTIPLICATION TABLE</
h3><p></p>";
$mult100=100;$mult101=101;$mult102=1
02;$mult103=103;$mult104=104;
$mult105=105;$mult106=106;$mult107=1
07;$mult108=108;$mult109=109;
$n1f=number_format($mult101);
$n2f=number_format($mult102);
$n3f=number_format($mult103);
$n4f=number_format($mult104);
$n5f=number_format($mult105);
$n6f=number_format($mult106);
$n7f=number_format($mult107);
$n8f=number_format($mult108);
$n9f=number_format($mult109);
for ($i=1;$i<=9;$i++)
{
echo $i."x".$n1f."=".$i*$n1f."
"."-----".'';
echo $i."x".$n2f."=".$i*$n2f."
"."-----".'';
echo $i."x".$n3f."=".$i*$n3f."
"."-----".'';
echo $i."x".$n4f."=".$i*$n4f."
"."-----".'';
echo $i."x".$n5f."=".$i*$n5f."
"."-----".'';
echo $i."x".$n6f."=".$i*$n6f."
"."-----".'';
echo $i."x".$n7f."=".$i*$n7f."
"."-----".'';
echo $i."x".$n8f."=".$i*$n8f."
"."-----".'';
echo $i."x".$n9f."=".$i*$n9f." "."<br>";
}
echo '<hr>';
?>

Lecția 14
site 4
CURS VALUTAR - file.txt

Lecția 15
site 5
BOOTSTRAP
Bootstrap 4 - the most popular
HTML, CSS, and JavaScript
framework for developing
responsive, mobile-first websites.
www.getbootstrap.com
• Bootstrap is a free front-end
framework for faster and easier web
development
• Bootstrap includes HTML and CSS
based design templates for
typography, forms, buttons, tables,
navigation, modals, image carousels
and many other, as well as optional
JavaScript plugins
• Bootstrap also gives you the ability to
easily create responsive designs
Responsive web design is about
creating web sites which automatically
adjust themselves to look good on all
devices, from small phones to large
desktops.
1.Icons
2.Themes
script
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHP WEB SITE</title>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-
scale=1">
<link rel="stylesheet" href="https://
maxcdn.bootstrapcdn.com/bootstrap/
4.4.1/css/bootst
<script src="https://
ajax.googleapis.com/ajax/libs/jquery/
3.4.1/jquery.min.js"></script
<script src="https://
cdnjs.cloudflare.com/ajax/libs/popper.js/
1.16.0/umd/popper.min.js"
<script src="https://
maxcdn.bootstrapcdn.com/bootstrap/
4.4.1/js/bootstrap.min.js"></scr
<style>
span {
display: inline-block;
width: 68px;
height: 68px;
margin: 6px;
background-color: rgb(17, 48, 143);
}
</style>
</head>
<body>
<div class="container">
<p class="bg-info text-white">
INFORMATIE IMPORTANTA PENTRU
BUSINESS !!! ATENTIE LA
<h3>ELEMENTE de PROIECTARE la un
SITE, utilizand platforma BOOTSTRAP
(versiunea a 4-a)<
<p></p>
<span class="rounded-bottom"></
span>
<span class="rounded-lg"></span>
<span class="rounded-top"></span>
<span class="rounded-right"></span>
<span class="rounded-bottom"></
span>
<span class="rounded-left"></span>
<span class="rounded-circle"></span>
<span class="rounded-0"></span>
<span class="rounded-sm"></span>
<span class="rounded"></span>
<span class="rounded-lg"></span>
<span class="rounded-top"></span>
<span class="rounded-right"></span>
</div>
<p class="text-center"
> ANTET FIRMA GARLA SRL

<img src="Photo.pdf" class="img-


thumbnail" alt="" width="34"
height="34">
</div>
</p>
<?php
echo'<br> <a href="style1.css"> </a>';
date_default_timezone_set('Europe/
CHISINAU');
echo date('l');
echo '<br />'. date('j-F-Y');
echo '<br />'. date('H:i:s');
?>
<body>
<div class="d-flex flex-column flex-md-
row align-items-center p-3 px-md-4 mb-3
bg-white
<h5 class="my-0 mr-md-auto font-
weight-normal">GARLA SRL</h5>
<nav class="my-2 my-md-0 mr-md-3">
<a class="p-2 text-dark"
href="#">GENERAL</a>
<a class="p-2 text-dark"
href="#">STATISTICA</a>
<a class="p-2 text-dark"
href="#">SERVICII</a>
<a class="p-2 text-dark"
href="#">PRETURI</a>
</nav>
<a class="btn btn-outline-primary"
href="#">INPUT</a>
</div>
<div class="pricing-header px-3 py-3 pt-
md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">PRETURI LA
PRODUSE</h1>
<p class="lead"></p>
</div>
<div class="container">
<div class="card-deck mb-3 text-
center">
<div class="card mb-4 shadow-sm">
<div class="card-header">
<h4 class="my-0 font-weight-
normal">LIBERE</h4>
</div>
<div class="card-body">
<h1 class="card-title pricing-card-
title">$0 <small class="text-muted"> </
small></h
<ul class="list-unstyled mt-3
mb-4"></ul>
<button type="button" class="btn
btn-lg btn-block btn-outline-
primary">Sign up</but
<img src="imagine003.png"
alt =" NU ESTE" style = "width=120px;
height:120px;">
</div>
</div>
<div class="card mb-4 shadow-sm">
<div class="card-header">
<h4 class="my-0 font-weight-
normal">PARTENERI</h4>
</div>
<div class="card-body">
<h1 class="card-title pricing-card-
title">$15 <small class="text-muted" </
small></h
<ul class="list-unstyled mt-3
mb-4"></ul>
<button type="button" class="btn
btn-lg btn-block btn-primary">Start</
button>
<img src="imagine002.png"
alt =" NU ESTE" style = "width=120px;
height:120px;">
</div>
</div>
<div class="card mb-4 shadow-sm">
<div class="card-header">
<h4 class="my-0 font-weight-
normal">CONTRACTE</h4>
</div>
<div class="card-body">
<h1 class="card-title pricing-card-
title">$30 <small class="text-muted"> </
small></
<ul class="list-unstyled mt-3
mb-4"></ul>
<button type="button" class="btn
btn-lg btn-block btn-
primary">Contacte</button>
</div>
<img src="imagine001.png"
alt =" NU ESTE" style = "width=120px;
height:120px;">
</div>
</div>
<footer class="pt-4 my-md-5 pt-md-5
border-top">
<div class="row">
<div class="col-12 col-md">
<small class="d-block mb-3 text-
muted">© 2020-2022</small>
</div>
<div class="col-6 col-md">
<h5>GENERALE</h5>
<ul class="list-unstyled text-small">
<li><a class="text-muted"
href="#">STUFF</a></li>
<li><a class="text-muted"
href="#">STRUCTURA</a></li>
<li><a class="text-muted"
href="#">ECHIPA</a></li>
<li><a class="text-muted"
href="#">CERCETARE</a></li>
<li><a class="text-muted"
href="#">ALTE DATE</a></li>
</ul>
</div>
<div class="col-6 col-md">
<h5>RESURSE</h5>
<ul class="list-unstyled text-small">
<li><a class="text-muted"
href="#">RESURSE FINANCIARE</a></
li>
<li><a class="text-muted"
href="#">RESURSE MATERIALE</a></li>
<li><a class="text-muted"
href="#">ALTE RESURSE</a></li>
<li><a class="text-muted"
href="#">TOTAL RESURSE</a></li>
</ul>
</div>
<div class="col-6 col-md">
<h5>DESPRE</h5>
<ul class="list-unstyled text-small">
<li><a class="text-muted"
href="#">ECHIPA</a></li>
<li><a class="text-muted"
href="#">LOCATIE</a></li>
<li><a class="text-muted"
href="#">PRIVAT</a></li>
<li><a class="text-muted"
href="#">CLAUZE</a></li>
</ul>
</div>
</div>
</footer>
</div>
</body>
</html>

Examen PHP
Codul disciplinei
Tipul disciplinei: Fundamentală, obligatorie
Anul de studiu/semestrul: Anul II, III, IV
Limba de predare: română
Credite ECTS 5
Numărul de ore de contact/ Numărul total de ore
Evaluare: Examen oral, asistat de calculator
Titularul cursului:
Teme pentru examene:
PHP – limbajul de scriptare
Server local
Depănarea scripturilor
Instrucțiuni:
-condiționale
-de salt
-repetitive
-creare biblioteci
Funcții:
-predefinite
-vizibilitate variabile
BD (MySQL):
-conexiune
-model PDO
-operații cu BD
-interogări
-înserări
-modificări
-ștergeri
Securitate date în aplicații WEB

Referințe obligatorii:
1.Site Didactic, Limbajul PHP
2.V. Ivașcu, Inițiere în PHP@MySQL,
orceon, v 2.1
3. XAMPP is the most popular PHP
development environment, WEB Server
APPACHE
4.Manual PHP, Documentation, php.net
5.PHP Tutorial, w3scools.com
6.PHP, Wikipedia
7.WeBuilder 2020 download, PHP
8.MySQL Enterprise Edition, mysql.com

S-ar putea să vă placă și