PHP - limbaj de programare
Variabilele

Variabila este un container de date care poarta un nume si i se poate atribui o valoare care poate fi modificata de mai multe ori sau salvata intr-o baza de date. Numele dat variabilei incepe cu simbolul $ urmat de orice litera mica (a-z) sau mare (A-Z) sau cu caracterul _ dar niciodata cu o cifra si nu poate contine spatii goale.

De exemplu: $nume_variabila
$nume_variabila="valoare"

Un exemplu scurt de folosire a unei variabile:
<?php
$program="PHP";
echo $program;
?>

Se va afisa cuvantul PHP.


sau

<?php
$salariu="10000";
echo "In septembrie am castigat ".$luna;
?>

Scriptul va afisa: In septembrie am castigat 10000.



Dupa stocarea datelor intr-o variabila (adica dupa ce unei variabile i-a fost atribuita o valoare),  data sau variabila respectiva poate fi modificata, afisata in browserul web, salvata intr-o baza de date, trimisa prin posta electronica.
   
Variabilele formular
In PHP puteti recunoaste numele de variabila deoarece toate incep cu simbolul $(dolar). (omiterea simbolului dolar este o eroare de programare ce se intalneste foarte des).
Exista trei metode de a accesa datele formularului prin intermediul varabilelor. Aceste metode nu au nume oficiale, deci le vom intitula noi.

Ex. variabila angajati:
$angajati        // stilul scurt
$_POST[‘angajati’]        //stil mediu
$HTTP_POST_VARS[‘angajati’]        //stil lung


Stilul scurt este convenabil, dar necesita activarea setarii de configurare register_globals. Numele variabilelor din script sunt identice cu numele campurilor formular (vezi cursul de HTML, capitolul Formularele). Nu trebuie sa declarati variabilele si nici sa efectuati vreo actiune pentru a crea acest variabile in scriptul dumneavoastra. Nu uitati sa atribuiti o valoare de pornire tuturor variabilelor dumneavoastra.

Stilul mediu implica regasirea variabilelor formular din unul din tablourile $_POST, $_GET sau $_REQUEST. Unul din tablourile $_GET sau $_POST va pastra detaliile despre toate variabilele formular. Tabloul utilizat depinde de metoda care a fost folosita pentru â trimite formularul, POST sau GET. In plus, toate datele trimise prin POST sau GET vor fi disponibile prin $_REQUEST.

Sa ne amintim un pic de la HTML cum e cu trimiterea formularelor:
<FORM ACTION=”url” METHOD=”METODA”>
</FORM>
sau mai pe larg,
<HTML>
<HEAD>
<TITLE>formulare text</TITLE>
</HEAD>
<BODY>
<FORM ACTION=www.cursurigratuite.ro/formular.php METHOD=”POST”>

Nume: <INPUT TYPE=”TEXT” NAME=”nume”>
<P>
Prenume: <INPUT TYPE=”TEXT” NAME=”prenume”>
<P>
Porecla: <INPUT TYPE=”TEXT” NAME=”porecla”>
<P>
<INPUT TYPE=”SUBMIT”  VALUE=”salveaza”>
<INPUT TYPE=”RESET”   VALUE=”anuleaza”>

</FORM>
</BODY>
</HTML>


Daca formularul a fost trimis prin metoda POST atunci data introdusa in campul angajati va fi stocata in $_POST[‘angajati’]. Daca formularul va fi trimis prin GET, atunci data se va afla in $_GET[‘angajati’]. In fiecare situatie data va fi disponibila in $_REQUEST[‘angajati’].


Tipuri de variabile
Variabilele sunt de mai multe tipuri: numere, siruri, matrici.

Numere

PHP imparte numerele in doua tipuri: intregi si cu virgula mobila.
Numerele intregi pot fi: pozitive si negative.
Numere corecte in PHP:
1 – intreg
-1 – intreg
1.0 – cu virgula mobila
-1.0 – cu virgula mobila
16.99 – cu virgula mobila

Numere incorecte in PHP:
1 ¼; 19722a; 02.09,08



Siruri
O variabila este un sir daca este alcatuita din caractere (o combinatie de litere, numere, simboluri, spatii) delimitate intre doua ghilimele simple (‘) sau duble (“).

Siruri corecte:
“Buna dimineata!”
“Buna $prenume”
“1 ¼”
“02.07.90”

Sir incorect:
“Am spus “ce mai faci?” ”




Matrice
Vom face o scurta descriere, deoarece sunt analizate pe larg in capitolul “Matrici’
Matricei (array) i se pot atribui mai multe valori comparativ cu numerele sau sirurile care pot contine doar o singura valoare. Matricele folosesc chei sau indexi pentru a identifica valorile stocate.
O matrice se creaza folosind functia array():

$matrice = array('apa','aer','foc');

Sunt doua tipuri de matrici: matrice indexata (foloseste numere pe post de chei) si matrice asociativa (foloseste siruri pe post de chei).


Exemplu:
a) <?php
$matrice = array('ocean','mare','lac');
print_r ($matrice);
?>


b) Utilizam aceeasi matrice dar folosim functia var_dump() care ne arata cate elemente sunt in matrice si lungimea fiecarei valori a sa
<?php
$matrice = array('ocean','mare','lac');
var_dump ($matrice);
?>



Pentru a sterge o pereche cheie/valoare se foloseste unset()
unset($matrice[3]); //sterge cheia 3 din matrice
unset($matrice); //sterge intreaga matrice


Variabile predefinite
PHP ofera un mare numar de variabile predefinite oricarui script care ruleaza si sunt functie de serverul pe care functioneaza.
Incepand cu PHP 4.2.0 valoarea default pentru directiva register_globals este off. Aceasta afecteaza setul de variabile predefinite disponibile in scop global.
De exemplu pentru a obtine DOCUMENT_ROOT vom folosi $_SERVER['DOCUMENT_ROOT'] in loc de $DOCUMENT_ROOT cum era in cazul in care register_globals erau on.


PHP Superglobals sunt variabile disponibile oriunde in script

$GLOBALS

contine referinte catre toate variabilele care sunt disponibile in scop global scriptului

$_SERVER

variabile furnizate scriptului de catre serverul web

$_GET

variabile furnizate scriptului via HTTP GET (provin dintr-un formular in care method="GET")

$_POST

variabile furnizate scriptului via HTTP POST (provin dintr-un formular in care method="POST")

$_COOKIE

variabile furnizate scriptului via HTTP cookies

$_ENV

variabile furnizate scriptului de catre mediu

In continuare voi prezenta cateva din cele mai des folosite variabile globale.

$_SERVER['REMOTE_ADDR']

Exemplu: adresa IP a vizitatorului

$_SERVER['HTTP_USER_AGENT']

Exemplu: informatii despre browserul folosit

$_SERVER['HTTP_REFERER']

Exemplu: pagina vizitata anterior

$_SERVER['SERVER_NAME']

Exemplu: numele serverului

$_SERVER['SCRIPT_NAME']

Exemplu: numele scriptului



Atribuirea de valori variabilelor
Pentru a atribui o valoare unei variabile, indiferent de tipul variabilei, folositi semnul (=). Semnul egal poarta numele de operator de atribuire.
Exemplu:
$numar=1;
$numar_zecimal=2.3;
$sir=”buna dimineata”
Pentru a afisa valoarea  unei variabile, se include numele acesteia intr-o instructiune print(), folosind ghilimele duble:

print “Numarul este $numar”;
print “Sirul este $sir”;


exemple:
a)
<?php
$temperatura=-5;
$vant=8.5;
echo "La Sinaia sunt $temperatura grade iar vantul bate cu $vant m/s";
?>

Se va afisa: La Sinaia sunt -5 grade iar vantul bate cu 8.5 m/s.





b) <?php
$strada="minulescu";
$oras="Bucuresti";
$tara="Romania";
echo  "adresa este strada $strada oras $oras tara $tara";
?>

Afiseaza:
adrsa este strada minulescu oras Bucuresti tara Romania


Constante

•    au o valore, dar spre deosebire de variabile nu poate fi schimbata sau stearsa si nu sunt precedate de simbolul $
•    numele este case sensitiv si va incepe obligatoriu cu o litera. Poate contine litere mari sau mici, cifre si caracterul _ dar fara spatii
•    este recomandat, dar nu obligatoriu, ca denumirea constantei sa fie scrisa cu majuscule pentru a fi mai usor identificata de programator
•    ca si in cazul variabilelor superglobale constantele au un caracter global.

<?php
define('NUME','Popescu');
echo NUME;
?>
Cauta