Sunteți pe pagina 1din 20

CUPRINS

LIMBAJUL PHP ........................................................................................................................................................................2


INSTRUCIUNILE PHP .............................................................................................................................................................3
LUCRUL CU FISIERE .................................................................................................................................................................7
FUNCTII...................................................................................................................................................................................9
FUNCTIA MAIL ......................................................................................................................................................................11
IRURI DE CARACTERE ..........................................................................................................................................................11
TRANSMITERE DATE CATRE SERVER ....................................................................................................................................14
Formulare -- recapitulare HTML ..........................................................................................................................................14
FINAL RECAPITULARE FORMULARE......................................................................................................................................16
EXEMPLE...............................................................................................................................................................................18

1 LIMBAJUL PHP

LIMBAJUL PHP
(acronim pentru Personal Home Page) a fost inventat n 1994 de Rasmus Lerdorf, care dorea s-i
contorizeze vizitatorii paginii sale de Internet.
Astzi, se cosider c PHP este un limbaj de scriptare nglobat n HTML.
Script-urile scrise n acest limbaj se utilizeaz pe partea de server, dar, local, pe calculator, trebuie s avei
instalat pachetul EasyPHP sau XAMPP
Limbajul PHP este asemntor limbajului C.
Script-urile scrise n acest limbaj ruleaz i trebuie s se gseasc pe server. n linii mari, ele au rolul de a
prelucra datele pe care le trimite utilizatorul de pe propriul calculator i de a transmite ctre browser rezultatele
prelucrrilor.
Documentaia oficial a limbajului se gsete pe site-ul http://www.php.net sau alte site-uri precum
drogoreanu.ro
Practic, orice script PHP va fi memorat n subfolder-ul www al folder-ului EasyPHP1-8 din Program Files i va
fi apelat din browser prin "http://localhost/numescript".
Un script PHP are extensia php, iar coninutul acestuia va fi cuprins ntre:
<?php
...
?>
Nu uitai! Programul EasyPHP trebuie pornit nainte de a apela script-uri PHP:
"Start / All Programs / EasyPHP / EasyPHP".
CONSTANTE. n PHP se pot defini constante cu ajutorul funciei define. Forma general a acesteia este:
define("nume_constanta", valoare)
VARIABILE. Numele unei variabile ncepe cu "$". n contiNuare, trebuie s fie o liter sau o liniu de
subliniere. n rest, putei folosi i cifre. Nu este necesar ca variabilele s fie declarate de la nceput. Ele se
definesc atunci cnd sunt folosite. Mai mult, i schimb tipul n funcie de valoarea RETINUTA
OPERATORI. Muli dintre operatorii limbajului PHP sunt cunoscui din C++ sau Javascript. Prezentm, n
ordine descresctoare, prioritatea operatorilor:
1. !, ++, --, (int), (double), (string)
2. *, +, /
3. <, <=, >, >=
4. ==, !=, ===, !===
5. &
2 LIMBAJUL PHP

INSTRUCIUNILE PHP
sunt asemntoare celor din C/C++. Din acest motiv, ne vom limita la o scurt prezentare a lor i la cteva
exemple de utilizare.

if
else
elseif
switch

while
for
foreach
include

require
break
continue
return

INSTRUCIUNEA IF ARE FORMA GENERAL:


if (expresie) instructiune1
[else instructiune2]
Dac expresie produce la evaluare o valoare diferit de zero (true), se execut instructiune1, altfel se execut
instructiune2
Ex: se compara doua variabile si se afiseaza un mesaj
<?php
$a=2;
$b=9;
echo "$a=2<br>";
echo "$b=9<br>";
if ($a>$b) {
echo "$a>$b";
} else {
echo "$a<$b";
}
?>

Exemplu:
<?php
$a=19;
$b=23;
if ($a<$b) {
echo "$a<$b";
} elseif ($a==$b) {
echo "$a==$b";
} else {
echo "$a>$b";
}
?>

INSTRUCIUNEA SWITCH ARE FORMA GENERAL:


3 LIMBAJUL PHP

switch (expresie)
{
case exp1 : secventa instructiuni_1; break;
case exp2 : secventa instructiuni_2; break;
...
case expn : secventa instructiuni_n; break;
[default: secventa instructiuni_n+1];
}
unde expresie are semnificaia de expresie de tip ntreg, expi sunt expresii constante de tip ntreg, iar
instruciuni_i, o secven oarecare de instruciuni.
EX: transforma numarul zilei in numele ei
<?php
$ziua=2;
echo $ziua;
echo "<br>";
switch ($ziua) {
case 1:
echo "Luni";
break;
case 2:
echo "Marti";
break;
case 3:
echo "Miercuri";
break;
case 4:
echo "Joi";
break;
case 5:
echo "Vineri";
break;
case 6:
echo "Sambata";
break;
case 7:
echo "Duminica";
break;
}
?>

INSTRUCIUNEA FOR ARE FORMA GENERAL:


for(exp_iniializare;exp_test;exp_incrementare)
instruciune
Dup cum se vede, ntre paranteze se gsesc 3 expresii:
4 LIMBAJUL PHP

- exp_initializare se folosete, de regul, pentru iniializarea variabilei de ciclare;


- exp_test se folosete pentru a testa dac se execut instruciunea subordonat - dac expresia produce la
evaluare o valoare diferit de zero (true), instruciunea subordonat for se execut;
- exp_incrementare se folosete pentru incrementarea variabilei de ciclare.
Principiul de executare este urmtorul:
P1. Se evalueaz exp_iniializare.
P2. Se evalueaz exp_test. n cazul n care aceasta produce o valoare diferit de zero, se execut instruciunea
subordonat for, apoi se trece la P3; altfel se trece la instruciunea urmtoare (se termin executarea
instruciunii for).
P3. Se evalueaz exp_incrementare i se revine la P2
EX: se initializeaza variabila i cu valoarea 1, se verifica daca este mai mica sau egala cu 10 iar apoi se incrementeaza. La fiecare
iteratie se tipareste variabila i.
<?php
for ($i=1; $i<=10; $i++) {
echo $i."<br>";
}
?>

foreach este o constructie care functioneaza doar cu matrice generand erori cand sunt folosite variabile cu tipuri de date diferite sau
variabile neinitializate. Sintaxa folosita este:
foreach ($matrice as $cheie=>$valoare) {
instructiuni de executat;
}
Exemplu:
<?php
$personal = array(
"Florin" => director,
"Catalin" => inginer,
"Mihai" => economist,
"Sorin" => sofer,
"Diana" => secretara
);
foreach ($personal as $nume => $meserie) {
echo "$nume => $meserie<br>";
}
?>
while este o instructiune de tip bucla. Atat timp cat conditia este adevarata se repeta bucla.
Exemplu:

5 LIMBAJUL PHP

<?php
$numar=1;
while ($numar<=7) {
echo $numar."<br>";
$numar++;
}
?>

include si require sunt doua functii asemanatoare folosite pentru includerea in paginile php a unor fisiere externe. Diferenta intre
cele doua functii consta in faptul ca daca include da gres scriptul genereaza o avertizare dar functioneaza in continuare in timp ce la
require se termina executarea scriptului.
include "fisier1.php";
require "fisier2.html";
break opreste fortat executia structurilor for, foreach, while, do..while sau switch.
break accepta optional un argument numeric care indica numarul de structuri imbricate a caror functionare este oprita.
Exemplu: la i=6 se opreste executia buclei
<?php
for ($i=0; ;$i++) {
if ($i>6) {
break;
}
echo $i."<br>";
}
?>
continue sare peste restul din iteratia buclei curente si continua executia la inceputul iteratiei urmatoare
continue accepta optional un argument numeric care indica numarul de bucle care vor fi sarite pana la sfarsit.
Exemplu: sare executia peste i==5
<?php
for ($i=0;$i<8;$i++) {
if ($i==5)
continue;
echo $i."<br>";
} ?>
return
Daca este chemata din interiorul unei functii declaratia return() opreste imediat executia functiei curente si furnizeaza argumentul ca
valoare a functiei.
Daca este chemata in scop global executia scriptului curent se opreste.

TEMA
Calculeaz suma ptratelor primelor "x" numere naturale nenule ("x" este numr natural) cu ajutorul
instruciunii FOR.
6 LIMBAJUL PHP

Calculeaz suma ptratelor primelor "x" numere naturale nenule ("x" este numr natural) cu ajutorul
instruciunii WHILE.
Calculeaz suma ptratelor primelor "x" numere naturale nenule ("x" este numr natural) cu ajutorul
instruciunii DO WHILE.
Pentru exemplificare, vom folosi urmtorul document HTML care trimite o valoare x ctre server:
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM action="http://localhost" method="post">
<INPUT type="text" name="x">
<INPUT type="submit" value="Ok">
</FORM>
</BODY>
</HTML>
Fiierul care conine documentul de mai sus va avea numele de "formular.html" i va fi reinut pe
Desktop.
Pe server se va gsi un script, numit index.php, care rspunde trimind o valoare ctre browser.
Elementul INPUT de tip "text" este sub forma unui edit i permite utilizatorului s introduc date. Acestea se
trimit ctre browser la apsarea unui buton de tip "submit". Pentru ca datele s fie recuperate de ctre script-ul
de pe server, trebuie ca tag-ul <form> s conin
parametrul method ="post".
Atunci cnd browser-ul execut o cerere ctre server, trimite i valoarea reinut de input-ul de tip "text".
Valoarea transmis de input-ul de tip "text", numit x, se recupereaz prin $_POST[x].
Aceast modalitate de transmitere i recepionare a parametrilor este general i trebuie reinut.

LUCRUL CU FISIERE
Folosind PHP-ul se pot executa anumite operatii asupra fisierelor aflate pe server cum ar fi:
fopen() = deschide fisierul indicat
fclose() = inchide fisierul
fread() = citeste continutul fisierului
fwrite() = scrie in fisier
filesize() = indica dimensiunea fisierului

7 LIMBAJUL PHP

Deschiderea fisierelor
Sintaxa functiei fopen() este:
fopen(param1, param2);
param1 = fisierul, calea catre fisier sau adresa fisierului care va fi deschis
param2 = modul in care va fi deschis fisierul, si poate avea valorile:
r = fisier deschis doar pentru citire
r+ = fisier deschis doar pentru citire si scriere
w = fisier deschis doar pentru scriere
w+ = fisier deschis pentru citire si scriere iar daca nu exista fisierul il creza
a = fisier deschis pentru adaugare la sfarsit
a+ = fisier deschis adaugare la sfarsit iar daca nu exista fisierul il creza
t = fisier deschis in mod text
b = fisier deschis in mod binar
sau combinatii ale acestora.
Citirea fisierelor
Sintaxa functiei fread() este:
$filename="proba.txt";
$handle=fopen($filename, "r");
$contents=fread($handle, filesize($filename));
variabila $handle va fi folosita ulterior si in alte functii
Scrierea in fisiere
Sintaxa functiei fwrite() este:
fwrite($handle, "continut ce va fi scris in fisier");
Verificarea drepturilor de acces asupra fisierului
Sintaxa functiei is_writable este:
is_writable($filename);
returneaza TRUE daca se poate si FALSE daca nu se poate scrie in fisier
Inchiderea fisierului
Sintaxa functiei fclose() este:
fclose($handle);
Folosind aceste functii de baza putem incerca cateva exemple simple.
Exemplu: se verifica dreptul de scriere in fisier. Primul pas este crearea fisierului proba.txt apoi se verifica exemplul care va returna
mesajul Acces interzis scrierii in fisier. Se modifica drepturile asupra fisierului conform Q4 din FAQ adaugand scrierea. Se verifica
iar exemplul care va returna mesajul Acces permis scrierii in fisier.
<?php
$filename="proba.txt";
if(is_writable($filename)) { //se verifica dreptul de scriere in fisier
echo "Acces permis scrierii in fisier";
} else {

8 LIMBAJUL PHP

echo "Acces interzis scrierii in fisier";


}
?>
Exemplu: adaugam exemplului anterior verificarea deschiderii fisierului.
<?php
$filename="proba.txt";
if(is_writable($filename)) { //se verifica dreptul de scriere in fisier
if(!$handle=fopen($filename, 'a')) { //se verifica deschiderea fisierului
echo "Fisierul <b>".$filename."</b> nu poate fi deschis";
exit; //se incheie executia scriptului
}
echo "Fisierul <b>".$filename."</b> poate fi deschis";
} else {
echo "Acces interzis pentru scriere in fisier";
}
?>
Exemplu: adaugam exemplului anterior scrierea in fisier si tiparirea continutului sau
<?php
$filename="proba.txt";
if(is_writable($filename)) { //se verifica dreptul de scriere in fisier
if(!$handle=fopen($filename, 'a')) { //se verifica deschiderea fisierului
echo "Fisierul <b>".$filename."</b> nu poate fi deschis";
exit; //se incheie executia scriptului
}
if(fwrite($handle, date("j-n-Y g:ia")."\r\n")===FALSE) { //testeaza daca se poate scrie in fisier
die ("Nu se poate scrie in ".$filename.""); //iesire
}
fclose($handle);
$matrice=file($filename); //se citeste continutul fisierului si se stocheaza intr-o matrice
foreach ($matrice as $cheie =>$valoare) {
echo $valoare."<br>"; //printeaza cate o valoare pe un rand
}
} else {
echo "Acces interzis pentru scriere in fisier";
}
?>

FUNCTII
O funcie poate fi definit oriunde n cadrul script-ului. Argumentele funciei sunt separate prin virgul i
transmise prin valoare. Executarea funciei se ncheie odat cu apariia elementului "return".
n PHP se pot crea funcii fr prea mari diferene fa de ce tii din C/C++ sau JavaScript. De exemplu, mai
jos este prezentat un script care utilizeaz o funcie pentru a calcula aria unui triunghi, pe care apoi o afieaz:
<?php
function aria_t($b, $h) { return $b*$h/2; }
$x=3;
9 LIMBAJUL PHP

$y=8;
echo(aria_t($x,$y));
?>
Pentru a ntoarce rezultate se utilizeaz, aa cum suntem deja obinuii, return. Forma general este: "return
expresie".
Transmiterea parametrilor se face prin valoare i prin referin. Pentru a transmite un parametru prin referin,
el trebuie precedat de caracterul "&"
GLOBAL VS. LOCAL. O variabil se numete global dac a fost definit n afara oricrei funcii. Implicit,
ea nu poate fi adresat din corpul unei funcii. Totui, exist o posibilitate: atam cuvntul "global" naintea
acestei variabile Variabilele locale sunt variabile create n corpul unei funcii sau cele create prin transmiterea
parametrilor formali (din antetul funciilor). Ele nu sunt recunoscute n afara funciilor.
Includerea unor funcii, dar nu numai, se realizeaz prin funcia require("nume_fisier"). Funciile trebuie s
se gseasc pe site, ntr-un fiier text (ex.: "functii.txt"). Textul funciei (funciilor inserate) trebuie s fie
ncadrat ntre <? i ?> (vezi "Exemplul 4").
Majoritatea funciilor care sunt prezentate n tabelul de mai jos au fost deja studiate n limbajul C++:
Exemplu :
<?php
$x=-7.23;
$y=abs($x);
echo($y);
echo("<br>");
echo(abs($y));
?>
Exemlu : construim o functie care aduna 2 variabile
<?php
function adunare($a,$b) {
$suma=$a+$b;
return $suma;
}
$rezultat=adunare(5,16);
echo $rezultat;
?>
Exemplu: o functie care genereaza un tabel
<?php
function tabel($lim) {
echo "<table border=\"1\">\n";

10 LIMBAJUL PHP

for ($i=0; $i<=$lim; $i++) {


echo "<tr><td>randul ".$i."</td></tr>\n";
}
echo "</table>";
}
tabel(9); //tabel cu 10 randuri
?>

FUNCTIA MAIL
Folosind functia mail() din PHP pot fi trimise mailuri utilizand urmatoarea sintaxa:
mail(destinatar, subiect, mesaj, header aditional);
destinatar este adresa unde va fi trimis mailul iar daca este necesar mailul poate fi trimis mai multor destinatari, situatie in care
adresele vor fi separate prin virgula
subiect este informatia care va fi afisata in campul subiect
mesaj este corpul mailului. Fiecare linie va fi separata prin LF (\n) si nu va avea mai mult de 70 de caractere
header aditional contine informatii optionale, de exemplu: From, Cc, Bcc fiind separate de caracterele CRLF (\r\n)
Toate mailurile trimise trebuie sa aibe campul From completat. Acest lucru poate fi facut prin adaugarea acestuia in header
aditional sau prin setarea corespunzatoare a adresei in fisierul php.ini din PHP.
Executia functiei mail returneaza TRUE daca mailul a fost acceptat pentru trimitere, altfelFALSE.
Acceptarea mailului pentru trimitere nu inseamna obligatoriu si ca a fost trimis.
Exemplu: trimiterea unui simplu mail
$to="proba@test.ro";
$subiect="functia mail";
$mesaj="Mail trimis cu functia mail din PHP";
mail($to, $subiect, $mesaj);
Exemplu: trimiterea unui mail la care adaugam header aditional cu campurile From, Cc, Bcc. Pentru ca mailul sa poata contine
etichete HTML trebuie adaugat Content-type. S-au folosit caracterele speciale \r\n pentru afisarea fiecarei informatii pe un nou rand
$to="proba@test.ro";
$subiect="functia mail";
$mesaj="Mail trimis cu functia mail din PHP";
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
$headers .= 'From: sender@test.ro'."\r\n";
$headers .= 'Cc: cc@test.ro'."\r\n";
$headers .= 'Bcc: bcc@test.ro'."\r\n";
mail($to, $subiect, $mesaj, $headers);

IRURI DE CARACTERE
Exist un set puternic de funcii, asemntoare celor din C++, care lucreaz cu IRURI DE CARACTERE.
De asemenea, exist i un operator de concatenare a irurilor.
Exemplu
11 LIMBAJUL PHP

<?php
$sir="Un exemplu";
echo ($sir[0]);
?>
Se va afia primul caracter: "U".
irurile se memoreaz ca o succesiune de caractere ASCII. Putem adresa fiecare caracter al irului, aa cum
suntem obinuii, prin indicele su. Primul caracter are indicele 0.
Operatorul de concatenare a irurilor este punctul.
Funcia strlen(sir) returneaz lungimea irului (numrul de caractere ale irului).
strpos(sir1, sir2, [poz_start]) caut dac sir2 este subir al lui sir1. n caz afirmativ, returneaz poziia de
nceput a acestuia, altfel returneaz false. Al treilea parametru specific funciei indicele caracterului de unde
s nceap cutarea. Dac nu este completat, cutarea ncepe din poziia 0.
strstr(sir1,sir2) returneaz sir1 din poziia n care a fost gsit sir2, dac sir2 este subir pentru sir1 sau false,
n caz contrar.
strcmp(sir1,sir2) compar lexicografic (alfa-betic) sir1 cu sir2. Valoarea returnat este:
<0, dac sir1 < sir2;
>0, dac sir1 > sir2;
=0, dac sir1 = sir2.
substr(sir,ind,[lung]) returneaz subirul irului sir, care ncepe n poziia ind i are lungimea lung. Dac
parametrul lung este absent, se returneaz irul care ncepe n poziia ind i ine pn la sfritul irului sir.
substr_replace(sir1, sir2, ind, [lung]) returneaz irul rezultat prin nlocuirea n sir1, a subirului care ncepe
n poziia ind i are lungimea lung cu sir2. Dac parametrul lung este absent, sir2 nlocuiete subirul care
ncepe cu ind i ine pn la sfritul irului sir2.
MASIVE Limbajul PHP ofer o libertate extraordinar de lucru cu masive. ncepem prin a spune c
masivele nu se declar. Primele dou exemple (alturate) prezint modul de lucru cu VECTORI I MATRICE.
EXEMPLU 1 Se creeaz i se afieaz un vector cu cinci componente:
<?php
for ($i=0;$i<5;$i++) $x[$i]=$i;
for ($i=0;$i<5;$i++) echo("$x[$i] <BR>");
?>
EXEMPLU 2 Se creeaz i se afieaz o matrice cu 5 linii i 5 coloane. Elementele din linia "i" i coloana
"j" rein valorile "i+j":
<?php
12 LIMBAJUL PHP

for ($i=0;$i<5;$i++)
for ($j=0;$j<5;$j++) $mat[$i][$j]=$i+$j;
for ($i=0;$i<5;$i++)
{ for ($j=0;$j<5;$j++) echo($mat[$i][$j]." ");
echo("<BR>");
}
?>
Indicii pot fi iruri de caractere EXEMPLU
<?php
$x["Ioana"]="0724xxx";
$x["Valentina"]="031xxx";
$x["Paul"]="0211xxx";
$x["Cristian"]="0232xxx";
print $x["Ioana"]."<BR>";
print $x["Valentina"]."<BR>";
print $x["Paul"]."<BR>";
print $x["Cristian"]."<BR>";
?>
Faptul c exist posibilitatea utilizrii unor astfel de indici creeaz, pe lng avantaje, probleme. Imaginai-v
c vrei s parcurgei i s listai un astfel de vector. Care este numrul componentelor? S zicem c pe acesta l
reinem ntr-o variabil, dar ce valori ia variabila de ciclare?
Aici este util instruciunea foreach care are rolul de a ne permite o parcurgere uoar a unui vector:
foreach(vector as indice=>variabila)
secventa_instructiuni
unde vector este masivul, indice este variabila de ciclare, iar variabila, variabila n care se face citirea
Exemplul
<?php
$x["Ioana"]="0724xxx";
$x["Valentina"]="031xxx";
$x["Paul"]="0211xxx";
$x["Cristian"]="0232xxx";
13 LIMBAJUL PHP

foreach($x as $i=>$nume)
echo($i." ".$nume."<BR>");
?>

TRANSMITERE DATE CATRE SERVER


UN FORMULAR este o grupare de componente HTML care permite trimiterea datelor ctre server. Pe server,
datele sunt recepionate de un script PHP care le prelucreaz.
Un formular se descrie ntre tag-urile
<FORM action="script"> i </FORM>.
Prin script nelegem numele script-ului care se ruleaz atunci cnd datele, comenzile sosesc pe server. ntre
cele dou tag-uri se insereaz diferite componente care permit introducerea datelor sau trimiterea comenzilor.

Formulare -- recapitulare HTML


Folosind formularele webdesignerul sau administratorul site-ului poate colecta diverse informatii de la vizitatori.
Cele mai importante atribute ale etichetei <form> sunt action si method.
action metioneaza adresa scriptului (aflat pe server) care va interpreta formularul. Aceste scripturi pot fi scrise in limbajele PHP sau
Pearl.
method indica metoda folosita de browser pentru transmiterea formularului. Poate lua valorile get si post.
get - datele sunt trimise prin adaugarea la adresa indicata de action. Permite trimiterea unor mici cantitati de date.
post - datele sunt trimise separat si sunt permise cantitati mari de date.
name este un atribut care identifica datele introduse in fiecare camp al formularului

Elementul INPUT este un element HTML de o mare complexitate. Poate fi de diverse tipuri (type): de la un
buton de validare, la unul radio, un edit, etc. Dup cum sugereaz i numele, rolul elementului INPUT este de a
permite utilizatorului s introduc date sau comenzi n pagina vizualizat de browser. Un element INPUT se
descrie cu tag-ul urmtor (form simplificat):
<INPUT name="nume" type="tip"
value="valoare" align="tip_aliniere">
unde valoare exprim valoarea afiat de element.

Exemplu: formular cu 2 campuri, buton Trimite si buton Sterge

14 LIMBAJUL PHP

HTML

Afisare

<form action="script.php" method="post">


Nume:<input type="text" name="nume">
Prenume:<input type="text" name="prenume"><br>
<input type="submit" value="Trimite"><input type="reset"
value="Sterge">
</form>

Nume:
Prenume:
Submit

Reset

Eticheta <input> poate avea atributele:


type - indica tipul datelor care vor fi introduse (text=text, submit=trimite, reset=sterge, password=parola, hidden=nu este vizibil,
checkbox=caseta de validare, button=buton, radio=selectarea unui singur element dintr-un grup, file=fisier pentru upload,
image=butonul va fi inlocuit cu o imagine)
name - numele asociat cimpului respectiv. Este folosit la prelucrarea datelor de catre scriptul mentionat in action
size - numarul de caractere vizibile din camp
maxlength - numarul maxim de caractere introduse in camp
readonly - datele prezente in camp nu pot fi modificate
Exemplu: formular continand toate valorile atributului <input>
HTML

Afisare

Nume:
Prenume:
<form action="script.php" method="post">
Nume:<input type="text" name="nume">
Prenume:<input type="text" name="prenume"><br>
Telefon:<input type="text" name="telefon"><br>
Fax:<input type="text" name="fax"><br>
Email:<input type="text" name="email"><br>
Sexul: Masculin<input type="radio" name="sex" value="m"> Feminin<input
type="radio" name="sex" value="f">
Studii: <select> <option value="scoala">Scoala profesionala <option
value="liceu">Liceu <option value="facultate">Facultate </select>

Telefon:
Fax:
Email:

Sexul: Masculin

Feminin

Studii:
Accesati Internetul de la:

Accesati Internetul de la:


Serviciu<input type="checkbox" name="serv">
Acasa<input type="checkbox" name="acasa">
Internet cafe<input type="checkbox" name="cafe">

Serviciu
Acasa
Internet cafe

Fisier: <input type="file" name="file">


Fisier:
Observatii:<textarea name="obs" rows="5" cols="30"></textarea>
<input type="submit" value="Trimite"><input type="reset" value="Sterge">
</form>

Observatii:

15 LIMBAJUL PHP

Submit

Reset

Constructia select introduce un meniu derulant (lista de selectie), valorile fiind declarate prin option.
In campul textarea se poate introduce text, avand atributele cols (numar de coloane) sirows (numar de randuri).
Daca doriti puteti particulariza butoanele din formular folosind atributul type=image in cadrul etichetei input si indicand fisierul
imagine.
HTML

Afisare

<form action="script.php" method="post">


<input type="image" src="trimite.gif" alt="Trimite">
</form>

TRIMITE

FINAL RECAPITULARE FORMULARE


EXEMPLE Sa presupunem ca intr-un formular avem un camp cu name="nume" si method="POST". Fisierul indicat de action va
prelua datele introduse in campul "nume" astfel:
$_POST["nume"];
Exemplu: formular cu un camp si scriptul php de preluare a datelor
<form action="exemplu5_1.php" method="POST">
Nume: <input type="text" name="nume"><br>
<input type="submit" value="Trimite">
</form>
/* urmeaza fisierul exemplu5_1.php */
<?php
$nume=$_POST["nume"];
echo $nume;
?>
Verificarea datelor introduse in formular
Pentru a fi siguri ca utilizatorul a completat campurile trebuie sa adaugam scriptului partea de verificare.
Exemplu: folosim acelasi formular dar adaugam partea de verificare
<?php
$nume=$_POST["nume"];
if ($nume=="") {

16 LIMBAJUL PHP

echo "Campul nume nu este completat";


} else {
echo $nume;
}
?>
Partea de verificare poate avea mai multe conditii simultane.
Exemplu: acelasi formular dar partea de verificare are doua conditii legate prin operatorul OR sau ||
<?php
$nume=$_POST["nume"];
if (($nume=="") || (strlen($nume)<5)) {
echo "Campul nume nu este completat corect";
} else {
echo $nume;
}
?>
Folosind modelele anterioare puteti prelua date si face verificarea pentru toate campurile formularului.
Datele preluate pot fi eventual introduse intr-o baza de date sau prelucrate in vederea trimiterii prin email functie de cerintele
aplicatiei.
In afara preluarii datelor putem folosi formularul si pentru upload-ul fisierelor pe serverdar cu masurile de precautie necesare
pentru a evita eventualele upload-uri de fisiere nedorite pe server.
Pentru upload formularul va contine un camp de tip input cu type="file" iar eticheta formva contine in plus un
argument enctype="multipart/form-data".
Exemplu: formular pentru upload fisiere. Folderul in care se face upload trebuie sa permita operatia de scriere. Din motive de
securitate acest exemplu nu este activ.
<form method="post" action="exemplu5_4.php" enctype="multipart/form-data">
Fisier pentru upload: <input type="file" name="file"><br>
<input type="submit" value="Trimite">
</form>
/* urmeaza fisierul exemplu5_4.php */
<?php
$a=$_FILES["file"]["size"];
$b=$_FILES["file"]["name"];
$c=$_FILES["file"]["tmp_name"];
$d=$_FILES["file"]["type"];
if(($a<10000) && ($a>0)) {
move_uploaded_file($c,$b);
echo "Original file name: ".$b."<br>";
echo "File name after upload: ".$c."<br>";
echo "File size: ".$a."<br>";
echo "File type: ".$d;
}
?>

17 LIMBAJUL PHP

EXEMPLE
md5 este o metoda de criptare folosind un algoritm special care furnizeaza ca rezultat un numar hexazecimal de 32 caractere
Exemplu: introduceti in formular datele care ulterior vor fi criptate md5
/* urmeaza fisierul test1.html */
<form action="test1.php" method="POST">
Introduceti date spre criptare: <input type="text" name="date"><br>
<input type="submit" value="Trimite">
</form>
/* urmeaza fisierul test1.php */
<?php
$a=$_POST['date']; //preluare date din formular
echo md5($a); //tiparire codare md5
?>
date returneaza un sir functie de parametri ceruti conform tabelului de mai jos
Parametru

Semnificatie

Exemplu

An format 4 cifre

2006

An format 2 cifre

06

Luna format 1 sau 2 cifre

Luna format 2 cifre

07

Luna

June

Luna format 3 litere

Jun

Zi din luna format 1 sau 2 cifre

Zi din luna format 2 cifre

09

l (L mic)

Zi din saptamana

Friday

Zi din saptamana format 3 litere

Wed

Zi din saptamana format 1 cifra

0=duminica 6=sambata

Zi din an (0-365)

123

Numarul zilelor dintr-o anumita luna

30

Ora 12h format 1 sau 2 cifre

Ora 24h format 1 sau 2 cifre

21

18 LIMBAJUL PHP

Ora 12h format 2 cifre

03

Ora 24h format 2 cifre

21

Minute

32

Secunde

17

am sau pm

pm

AM sau PM

PM

Exemplu: data si ora afisate in mai multe moduri


<?php
echo date("d-m-Y g:i A");
echo"<br>";
echo date("j-F-Y H:i" );
echo"<br>";
echo date("l-M-Y");
?>
strlen returneaza lungimea unui string
Exemplu: returneaza lungimea sirului Another brick in the wall
<?php
$sir="Another brick in the wall";
echo strlen($sir);
?>
trim() elimina spatiile albe din sir
ltrim() elimina spatiile albe din stanga sir
rtrim() elimina spatiile albe din dreapta sir
Exemplu: se elimina succesiv spatiile libere din sir " 234 " folosind ltrim() si apoi rtrim()
<?php
$a=" 234 ";
echo $a."<br>";
echo strlen($a);
$b=ltrim($a);
echo "<br>".$b."<br>";
echo strlen($b);
$c=rtrim($b);
echo "<br>".$c."<br>";
echo strlen($c);
?>
strtolower() converteste un sir la litere mici
strtoupper() converteste un sir la litere mari
Exemplu: se converteste primul sir la litere mici si al doilea la litere mari

19 LIMBAJUL PHP

<?php
$a="Star Wars Episode III";
echo strtolower($a);
echo "<br>";
$b="atentie inalta tensiune";
echo strtoupper($b);
?>
array_merge() uneste mai multe matrici
Exemplu: uneste doua matrici si tipareste matricea rezultata
<?php
$a=array(apa, aer, foc);
$b=array(fructe, legume, carne);
print_r(array_merge($a,$b));
?>
count() numara elemetele unei matrici
Exemplu:
<?php
$a=array(fructe, legume, carne, lactate);
echo (count($a));
?>

20 LIMBAJUL PHP

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