Invata PHPcu punctsivirgula.ro

1.
2. Instalare PHP
3. Ce inseamna PHP?
4. Notiuni de baza
5. Variabile. Constante
6. Vectori globali. Constante magice
7. Operatori
8. Structuri repetitive
9. Aplicatii: repetitive
10. Operatii cu vectori
11. Operatii cu siruri
12. Data si timp
13. Functii in PHP
14. Formulare
15. GET vs. POST
16.
17. Upload de fisiere
18. Headere
19. Cookies
C O N T I N U T
Tutorial PHP in limba romana.

Explicatii, exemple si aplicatii in PHP pentru incepatori


Superglobals, variabile speciale     !  

PHP dispune de cateva variabile "built-in". Acestea sunt pre-populate de PHP in momentul executiei, deci nu trebuie definite sau initializate. Sunt disponibile in orice portiune a codului si in orice script PHP si pot fi folosite fara sa fie nevoie de alte pregatiri. Anumite variabile (ca de exemplu $_POST) au valori doar in anumite situatii (spre exemplu, doar atunci cand sunt folosite formulare).

Mai jos sunt descrise pe scurt aceste variabile, cu mentiunea ca in lectiile urmatoare vor fi folosite in exemple din care veti intelege (usor) rostul lor.

  • $_GET
    Vector asociativ ce contine parametrii transmisi prin URL. De exemplu, daca pagina noastra PHP se numeste test.php, un URL de genul
    http://localhost/test.php?nume=Alex&varsta=12&ocupatie=elev 
    
    ar popula variabila $_GET cu urmatoarele valori:
    print_r( $_GET );
     
    /* afiseaza:
    Array
    (
        [nume] => Alex
        [varsta] => 12
        [ocupatie] => elev
    )
    */
    Nota: numele parametrilor au rol de cheie in vectorul $_GET.
    Vectorul $_GET este de asemenea populat la folosirea formularelor GET.

  • $_POST
    Similar cu $_GET, doar ca parametrii sunt transmisi prin formulare (forms) - vezi lectia "Transmiterea prin formulare (POST)" pentru detalii

  • $_REQUEST
    Inglobeaza atat $_GET cat si $_POST.

  • $_SESSION
    Folosita pentru a defini date ce sunt disponibile atata timp cat utilizatorul acceseaza site-ul, indiferent de paginile vizualizate. In mod normal o variabila este definita doar cand un utilizator cere o pagina. La finalul executiei scriptului, valorile variabilelor se pierd (inclusiv variabile $_GET, $_POST, etc). Daca sunt puse in vectorul $_SESSION, valorile pot persista si dupa terminarea executiei scripturilor.

  • $_SERVER
    Furnizeaza informatii despre server, pagina ceruta si utilizatorul care acceseaza pagina.
    print_r( $_SERVER );
    /* afiseaza ceva asemanator cu ce e mai jos:
    Array
    (
        [REDIRECT_STATUS] => 200
        [HTTP_VIA] => 
        [HTTP_COOKIE] => 
        [HTTP_REFERER] => http://php.punctsivirgula.ro/
        [HTTP_USER_AGENT] => Mozilla/5.0 ...
        [HTTP_HOST] => php.punctsivirgula.ro
        [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        [HTTP_ACCEPT_LANGUAGE] => ro-ro,ro;q=0.8,en-us;q=0.6,en-gb;q=0.4,en;q=0.2
        [HTTP_ACCEPT_CHARSET] => UTF-8,*
        [HTTP_KEEP_ALIVE] => 300
        [HTTP_CACHE_CONTROL] => max-age=0, max-age=0
        [HTTP_CONNECTION] => Keep-Alive
        [PATH] => /bin:...:/usr/bin:/bin
        [SERVER_SIGNATURE] => Apache/2.2.9 (Unix) ... at php.punctsivirgula.ro Port 80
        [SERVER_SOFTWARE] => Apache/2.2.9 (Unix) ...
        [SERVER_NAME] => php.punctsivirgula.ro
        [SERVER_ADDR] => 89.xx.xx.xx
        [SERVER_PORT] => 80
        [REMOTE_ADDR] => 69.xx.xx.xx
        [DOCUMENT_ROOT] => /.../
        [SERVER_ADMIN] => webmaster@...
        [SCRIPT_FILENAME] => /.../index.php
        [REMOTE_PORT] => 35423
        [REDIRECT_QUERY_STRING] => 
        [REDIRECT_URL] => /arrays/
        [GATEWAY_INTERFACE] => CGI/1.1
        [SERVER_PROTOCOL] => HTTP/1.1
        [REQUEST_METHOD] => GET
        [QUERY_STRING] => 
        [REQUEST_URI] => /arrays/
        [SCRIPT_NAME] => /index.php
        [PHP_SELF] => /index.php
        [REQUEST_TIME] => 1250589158
        [argv] => Array()
        [argc] => 0
    )
    */
    
  • $_ENV
    Afiseaza informatii despre mediul curent in care este instalat si ruleaza interpretorul PHP, despre scriptul curent, etc

  • $_COOKIE
    Folosita pentru a vedea elementele de tip Cookies de la site-ul/pagina curenta, disponibile pe calculatorul utilizatorilor.

  • $_FILES
    Folosita la incarcarea fisierelor pe server (file uploads) - vezi lectia "File upload" pentru mai multe detalii

Desi toate aceste variabile au si nume alternative, este recomandat sa se foloseasca in forma in care au fost prezentate mai sus.

Popescu Catalin a spus Prea complicat - 19.03.2009

Am facut doar o pagina test.php, invatata la notiuni de baza, restul a devenit de neinteles pe parcurs. Consider ca acest curs nu este totusi pt incepatori, deoarece nu toate informatiile sunt dedicate unor persoane care o iau de la o. Deci, acest curs este foarte putin explicat si prea pe scurt.!

Popescu Catalin a spus Admin - 19.03.2009

Eu ca si majoritatea programatorilor incepatori care stiu html si vor sa treaca la alt nivel vreau sa stiu doar atat:
Daca am spre exemplu un site in html de stiri , si nu vreau sa mai stau sa bag in fiecare zi cate o stire(o poza si un text) in html, vrea sa imi fac un panou de admin si sa introduc de acolo noile stiri. Scurt si la obiect. In acest curs momentan nu am reusit sa desprind mare lucru.

Alexandru a spus Tranzitia de la HTML la PHP - 20.03.2009

Salut. Hai sa o luam in ordinea problemelor puse de tine:

1. Prea complicat.
Incarcam sa oferim explicatii cat de detaliate putem dar in acelasi timp ne ferim sa cadem in extrema cealalta cand prea multe detalii indeparteaza cititorul de la ideea de baza. Daca unele lucruri sunt explicate prea pe scurt, lucrul asta este facut din 2 motive:
- acel aspect este detaliat mai tarziu (printr-un exemplu sau prin alte explicatii)
- indemnam cititorul sa caute singur mai multa informatie, dezvoltand acel spirit de a cauta informatiile nu de a le cere (daca ai observat, toate instructiunile de PHP au un link catre manualul oficial - acolo gasesti explicatii detaliate si multe alte exemple legate de instructiunea respectiva)

Pe de alta parte, in pagina de prezentare (http://php.punctsivirgula.ro/?despre) sunt cateva intrebari comune si raspunsurile aferente in care sunt precizate putinele conditii pentru a putea folosi (cu succes) acest site. Citeste-le bine si vezi daca "te incadrezi".

Daca totusi consideri ca ar trebui ca o anumita parte din site sa fie explicata mai pe larg (si crezi ca si altii ar beneficia de asta), atunci poti sa trimiti pe email (sau intr-un alt comentariu) care este pagina/sectiunea in cauza si noi vom vedea ce e de facut.

2. Admin
Trecerea de la HTML la PHP nu este chiar atat de usoara cum pare la prima vedere. Asta din cauza ca PHP este un limbaj de *programare* pe cand HTML este doar un limbaj de *marcare* (mark-up language). Adica HTML este folosit pentru a afisa informatie, ce cand PHP o "proceseaza".

Lectiile de pe site sunt grupate pe anumite categorii si cresc gradual in dificultate. N-o sa reuseasca nimeni sa invete din prima zi sa faca o interfata de aministrare ca cea descrisa de tine (poate reusi daca foloseste un cod existent - dar in acest caz nu intelege mare lucru ce se intampla). Scopul acestui site este sa ofere cunostintele de baza care sunt vitale in programarea PHP - cunostinte pe care cititorii le pot pune singuri in practica.

Pe langa asta, pe parcurs ce lectii noi sunt adaugate pe site, veti gasi si exemple noi care pot oferi o idee despre cum trebuie facute anumite lucruri (cum ar fi interfata de admin)

Sper ca aceste explicatii aditionale sa-ti fie de folos. Ca idee generala, site-ul nu este complet inca, ceea ce inseamna ca alte exemple vor fi adaugate in viitor (iar un model de CMS este pe lista)

Numai bine!


Adauga un comentariu la aceasta sectiune.

 


Constante magice     !  

Limbajul PHP dispune de o serie de "constante magice" care au valori diferite in functie de anumiti momentul si codul in care sunt folosite. Denumirea de 'constanta' este improprie, pentru ca, asa cum stiti deja, o constanta nu-si poate schimba valoarea. Nici 'variabile' nu pot fi numite deoarece nu au nevoie de declarare sau initializare, asa ca s-a recurs la un compromis: denumirea 'constante magice' (magic constants).

Cele mai uzuale sunt __LINE__, __FILE__, __FUNCTION__ si __CLASS__. Mai noile __DIR__, __METHOD__ si __NAMESPACE__ sunt mai rar folosite datorita faptului ca au nevoie de o versiune mai noua a interpretorului PHP (cel putin versiunea 5.0 sau chiar 5.3)

Mai jos sunt explicate aceste constante.

  • LINE
    Returneaza linia curenta a scriptului PHP.
    <?php
    # afiseaza numarul liniei pe care este scrisa instructiunea echo
    echo __LINE__; // 162
    ?>
  • FILE
    Contine calea completa catre scriptul PHP care se executa. Daca este folosita intr-un fisier inclus atunci numele acestui fisier este returnat.
    <?php
    echo __FILE__; // numescript.php
     
    ?>
  • FUNCTION
    Returneaza numele functie din interiorul careia se foloseste constanta.
    <?php
    # declar o functie care contine o constanta magica
    function spuneNumele() {
    	echo __FUNCTION__;
    }
     
    # apelez functia care va afisa valoarea constantei
    spuneNumele(); // va afisa: spuneNumele
    ?>
  • CLASS
    Returneaza numele clasei curente.
  • DIR
    Contine numele directorului in case este salvat scriptul curent. Aceasta constanta este echivalenta cu dirname(__FILE__).
  • METHOD
    Contine numele metodei de clasa din care se foloseste constanta. Se poate folosi numai cu clase.
  • NAMESPACE
    Contine numele spatiului de lucru curent (name-space).

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.