Sunteți pe pagina 1din 30

Introducere ı̂n limbajul PHP

(Informatică Aplicată 1 - Cursul 7)

Victor BUCATĂ

Facultatea de Inginerie Electrică - U.P.B.

13 decembrie 2023

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 1 / 30
Cuprins

1 Introducere
Context
Avantaje
Caracteristici
Istoric

2 Ce ı̂nseamnă o pagină dinamică?


Ce e o pagină statică?
Ce e o pagină dinamică?
Diagrama

3 Instalarea s, i configurarea PHP

4 Elementele s, i sintaxa limbajului PHP


Exemple
PHP cu MySQL

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 2 / 30
Introducere
Prezentarea limbajului PHP
▶ ı̂nvaţarea PHP = pasul natural următor după ı̂nvăţarea limbajelor HTML s, i JavaScript
▶ Majoritatea CMS - Content Management System (Wordpress, Joomla, Moodle) dar s, i alte
siteuri precum Facebook s, i Wikipedia folosesc PHP
▶ se integrează cu limbajul de marcare HTML

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 4 / 30
Avantajele limbajului PHP
▶ este gratuit şi Open Source
▶ nu depinde de platformă
▶ la fel de puternic ca mediile plătite
▶ adaptat pentru traficul generat pe un server web
▶ este dedicat dezvoltării web
▶ are o documentaţie bogată
▶ comunitate de dezvoltare activă imensă
▶ este adesea folosit cu serverul web Apache care este deasemenea gratuit dar şi robust

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 5 / 30
Prezentarea limbajului PHP
▶ dedicat dezvoltării de pagini web dinamice
▶ nu rulează pe client (browser) ci pe server
▶ limbaj de script (interpretat, nu compilat)
▶ echivalentul PHP de la Microsoft este ASP
▶ permite aplicaţii simple dinamice dar şi aplicaţii complexe ce conţin interacţiuni cu bazele
de date
▶ cel mai adesea este folosit ı̂n conjuncţie cu MySQL
▶ sintaxă similară limbajelor C, Java, Perl
▶ ı̂ncepând cu versiunea 5 conţine caracteristici ale programării OO (Orientate pe Obiecte)

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 6 / 30
Istoricul limbajului PHP
▶ creat ı̂n 1994 de Rasmus Lerdorf pentru a-şi gestiona mai uşor paginile web personale
▶ iniţial PHP provenea de la Personal Home Page Tools
▶ 1995 - versiunea 2
▶ 1998 - versiunea 3 (de atunci PHP provine de la HyperText Preprocessor ilustrând
faptul că PHP generează pagini web dinamice).
▶ 2000 - versiunea 4
▶ 2007 - versiunea 5
▶ 2013 - versiunea 5.5
▶ 2022 - versiunea 8.2

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 7 / 30
Ce este o pagină web statică?
Ce este o pagină web dinamică?
Diagrama operaţiunilor pentru o pagină web dinamică

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 12 / 30
Instalarea s, i configurarea PHP
Ce este necesar pentru a putea folosi PHP?
▶ server web (Apache este folosit ı̂n 75% din cazuri, IIS (Internet Information Server) de la
Microsoft este folosit ı̂n 20% din cazuri
▶ preprocesorul PHP
▶ sistemul de gestiune a bazelor de date (MySQL)
Se recomandă instalarea componentelor concomitent, automat, cu kitul de instalare XAMPP
(https://www.apachefriends.org/ro/download.html).
Mai este nevoie de un editor de text (de ex. Notepad++ sau SublimeText).

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 14 / 30
Configurare
Fişierele de configurare sunt:
▶ httpd.conf pentru serverul Apache
▶ php.ini pentru limbajul PHP
▶ my.ini pentru MySQL

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 15 / 30
Configurare (continuare)
Trebuie să ne asigurăm că ı̂n fişierul php.ini există linia:

error_reporting = E_ALL

Şi că utilizatorul root din MySQL are setată o parolă:

use mysql;
update user
set Password =
PASSWORD ("scrieti aici parola dorită")
where user = "root";
flush PRIVILEGES;
quit;

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 16 / 30
Configurare (continuare)
Deasemenea ı̂n cazul ı̂n care serverul nu poate fi pus online trebuie specificat un alt port decât
portul 80 (setat implicit) ı̂n fişierul httpd.conf. Mai jos am setat acest port la 8080 ı̂n fişierul
httpd.conf:

Listen 8080

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 17 / 30
Elementele limbajului (cu exemple)
▶ Ex. 1: Comentarii si instructiunea echo ▶ Ex. 15: Variabile tablou - combinare
▶ Ex. 2: Tiparirea datei ▶ Ex. 16: Variabile tablou multidimensionale
▶ Ex. 3: Variabile ▶ Ex. 17: Variabile string
▶ Ex. 4: Variabile string ▶ Ex. 18: Functia printf si conversii
▶ Ex. 5: Constante si operatii ▶ Ex. 19: Stringuri cu majuscule sau
▶ Ex. 6: Referentierea minuscule
▶ Ex. 7: Instructiuni decizionale ▶ Ex. 20: Stringuri - diverse functii
▶ Ex. 8: Instructiunea elseif ▶ Ex. 21: Stringuri - diverse functii
▶ Ex. 9: Operatorul ternar conditional ▶ Ex. 22: Stringuri - secvente escape
▶ Ex. 10: Instructiunea switch ▶ Ex. 23: Gasirea tipului de data
▶ Ex. 11: Instructiunea while ▶ Ex. 24: Executare comenzi sistem de
▶ Ex. 12: Instructiunea for operare
▶ Ex. 25: Functii
▶ Ex. 13: Variabile tablou
▶ Ex. 14: Variabile tablou - valori pereche
Elementele limbajului
▶ Exemplele pentru sintaxa de bază le gasiti la adresa următoare (Vă rog să parcurget, i pe
rând fiecare exemplu!)
http://itee.elth.pub.ro/˜vbucata/ia/cursuri/ex/
▶ Apoi alte câteva exemple:
▶ Exemplul 38 - Formulare
▶ Exemplul 39 - Module cookie
▶ Fis, iere sesiune
▶ Exemplul 40 - PHP+MySQL

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 20 / 30
Exemplul 38 - formulare
Fis, ierul ex38.php:
1 <html>
2 <head>
3 <title>Formular</title>
4 <body>
5 <form action="ex38b.php" method="post">
6 utilizator:<input type="text" name="
utilizator" value=""/>
7 </body>
8 </html>

Fis, ierul ex38b.php:


1 <?php
2 $utilizator=$_POST["utilizator"];
3 echo $utilizator;
4 ?>

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 21 / 30
Exemplul 39 - Module cookie
1 <?php
2 setcookie("test",45,time()+(60*60*24*7));
3 ?>
4 <?php
5 $var1=0;
6 if (isset($_COOKIE["test"]))
7 {
8 $var1=$_COOKIE["test"];
9 }
10 echo $var1;
11 ?>

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 22 / 30
Fis, iere sesiune
▶ oferă o sigurant, ă mai mare decât modulele cookie
▶ sunt fis, iere ce sunt salvate pe serverul web s, i ı̂n care se poate stoca oricâtă informat, ie se
dores, te
▶ se folosesc module cookie pentru a vedea unde sunt stocate fis, ierele sesiune
▶ nu se poate vedea informat, ia ci doar adăuga
▶ ı̂n cazul unui număr mare de utilizatori trebuie prevăzute măsuri de securitate

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 23 / 30
PHP+MySQL
Pentru interacţiunea cu baza de date sunt necesari cinci paşi:
1 se creează conexiunea la sistemul de baze de date
2 se selectează o bază de date
3 se execută o instrucţiune SQL
4 se folosesc datele ı̂ntoarse
5 se ı̂nchide conexiunea

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 24 / 30
script MySQL
Se scriu următoarele comenzi MySQL:

create database db1;


use db1;
create table studenti(
idstudent int auto_increment not null,
primary key(idstudent),
nume varchar(25) not null,
prenume varchar(25) not null,
annastere smallint(4) not null
);
insert into studenti(nume, prenume, annastere)
values ("Ion","Ion",1994),
("Gheorghe","Gheorghe",1993);

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 25 / 30
Exemplul 40 - PHP cu MySQL
1 <?php $conexiune=mysql_connect("localhost","root","scrieti aici parola");
2 if(!$conexiune){
3 die("Eroare la conexiunea cu MySQL");
4 }
5 $bd_select=mysql_select_db("db1",$conexiune);
6 if(!$bd_select){
7 die("Eroare la deschiderea bazei de date");
8 }
9 $rezultat=mysql_query("select * from studenti",$conexiune);
10 if(!$rezultat){
11 die("Instructiunea MySQL nu poate fi executata");
12 }
13 while($inregistrare=mysql_fetch_array($rezultat)){
14 echo $inregistrare[0]." ".$inregistrare[1]."<br>";
15
16 }
17 mysql_close($conexiune); ?>

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 26 / 30
Concluzii
▶ Pros: PHP este folosit foarte mult ı̂n dezvoltarea web pe partea de server. Este folosit ı̂n
special pentru a crea scripturi pentru site-uri web s, i aplicat, ii web, adică pentru a crea
pagini web dinamice. Fiind un limbaj nu foarte nou, PHP dispune de un ecosistem larg de
utilizatori care au creat framework-uri, biblioteci s, i instrumente de automatizare pentru a
face acest limbaj mai us, or de folosit. Deasemenea, codul PHP se poate depana us, or.
▶ Cons: Pe măsură ce Python s, i JavaScript au crescut ı̂n popularitate, popularitatea PHP a
scăzut. PHP este cunoscut pentru problemele sale de securitate. Siteurile dezvoltate
complet ı̂n PHP sunt relativ lente;
▶ PHP rulează pe siteuri orientate spre cont, inut precum Facebook, WordPress s, i Wikipedia.

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 27 / 30
Bibliografie
▶ http://www.newthinktank.com/2014/08/php-programming/
▶ https://www.youtube.com/watch?v=7TF00hJI78Y
▶ http://www.newthinktank.com/2014/09/php-mysql-tutorial/

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 28 / 30
Întrebări ?

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 29 / 30
Vă mult, umesc pentru atent, ie!

Victor BUCATĂ (Facultatea de Inginerie Electrică - U.P.B.) Introducere ı̂n limbajul PHP 13 decembrie 2023 30 / 30

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