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


Pregatirea calculatorului pentru lucrul cu PHP. Instalare PHP     !  

Cel mai simplu mod de a lucra cu PHP este sa fie instalat pe calculatorul personal. Este nevoie, asadar, ca propriul calculator sa devina un server web mai intai. Acest lucru este posibil instaland o aplicatie capabila sa accepte cerinte si sa transmita pagini web ca raspuns. O astfel de aplicatie este Apache HTTP Server.


Deservirea paginilor

Avand un server web pregatit, mai trebuie doar instalat modulul PHP. PHP actioneaza ca o componenta aditionala a serverului web care este invocata de ori cate ori o pagina PHP este intalnita. Aceasta componenta proceseaza pagina si apoi o transmite inapoi la web-server, ajungand in final in browserele utilizatorilor. Acest proces este prezentat in imaginea din dreapta de mai jos

deservirea paginilor statice
Deservirea unei pagini statice, fara interventia interpretorului
PHP
deservirea paginilor dinamice
Deservirea unei pagini dinamice, modificata de PHP in momentul request-ului

Static si dinamic

Din imaginile de mai sus, se observa ca atunci cand nu exista un interpretor PHP, paginile sunt transmise direct catre utilizatori asa cum sunt salvate pe disc, fara modificari. Pentru a actualiza continutul acestora, este nevoie de interventie directa asupra lor si salvarea modificarilor pe server. Aceste pagini sunt denumite "pagini statice".

Spre exemplu, presupunand ca avem o pagina statica ce afiseaza membrii unei comunitati, la fiecare inscriere a unei noi persoane, pagina ar trebui modificata manual de catre cineva cu acces la serverul web. Lucrurile se complica daca acea lista este personalizata, cu trimiteri catre alte informatii (cum ar fi detalii de contact pentru fiecare, etc) sau cu un design intortocheat. Toate aceste probleme pot fi rezolvate cu ajutorul PHP.

Folosind o secventa de cod PHP am putea prelua lista de membri dintr-o baza de date, eliminand problema actualizarii - nu va mai fi nevoie sa se modifice pagina odata cu fiecare membru nou, scriptul PHP va afisa in mod automat noile persoane adaugate in baza de date. Este rezolvata si problema linkurilor personalizate, sau a designului - toate elementele specifice unei persoane pot fi generate in mod automat.

Aceste pagini sunt, asadar, modificate de catre PHP la momentul accesarii lor de catre utilizatori. In functie de parametrii primiti si de secventa de cod definita de programator, aceasi pagina poate avea continut diferit. Aceasta proprietate este denumita dinamism, iar o astfel de pagina este considerata pagina dinamica.



Instalarea interpretorului PHP

Pentru ca fisierele ce contin cod PHP sa poata fi interpretate, devenind astfel dinamice, serverul web trebuie configurat pentru "comunicarea" cu modulul PHP.

Pentru inceput, cea mai simpla modalitate de a avea totul pregatit pentru a lucra cu PHP este un pachet "All in one". Voi descrie pe scurt pasii necesari instalarii programului EasyPHP, o aplicatie care include serverul web Apache, interpretorul PHP, sistemul de gestiune a bazelor de date MySQL si aplicatia de administrare a bazelor de date phpMyAdmin.

Nota: trebuie sa dezinstalati Apache, PHP sau MySQL de pe calculator (daca le aveti deja) inainte de a instala EasyPHP.

  1. Descarcati EasyPHP. Mergeti la http://www.easyphp.org/ -> Download EasyPHP ( sau direct la http://sourceforge.net/projects/quickeasyphp/files/EasyPHP/5.3.0/EasyPHP-5.3.0-setup.exe/download )
  2. Instalati EasyPHP (e bine sa se pastreze configurarile implicite).
  3. Porniti programul EasyPHP (de cele mai multe ori va porni automat)
    Nota: la avertizarile de la Windows XP/Vista trebuie sa se aleaga "Allow" sau "Unblock" altfel este posibil ca serverul web sa nu functioneze.
  4. In fereastra de EasyPHP apasati F8 (sau Click-Dreapta pe iconita EasyPHP de langa ceas - in Systray - si alegeti Explore). Se va deschide un folder, care reprezinta locatia de unde vor fi luate fisierele cand sunt afisate in browser (de obicei C:\Program Files\EasyPHP 5.3.0\www). Nota: in Windows Vista este nevoie sa deschideti manual acest folder (F8 nu pare sa functioneze). Aceasta locatie poarta numele de Document Root si aici trebuie puse toate fisierele .php pe care le scrieti.
  5. Salvati un fisier de test in locatia de mai sus. Dati-i un nume sugestiv, gen test.php. Editati fisierul astfel incat sa contina urmatoarea secventa:
    <?php print "Salut, ai reusit! Iata primul tau script PHP"; ?>
  6. Intr-un browser (Firefox, Internet Explorer, Opera, Safari, etc) mergeti la http://localhost/. Va fi afisata o pagina cu linkuri catre fisierele/folderelor din Document Root care pot fi accesate. Faceti click pe test.php. O alta modalitate de a accesa un fisier este sa mergeti direct la http://localhost/[cale]/[nume].php, de exemplu http://localhost/test.php.
  7. Accesand http://localhost/test.php ar trebui sa fie afisata o pagina alba cu mesajul de mai sus.

Retineti! Toate fisierele PHP pe care le scrieti (inclusiv cele de test preluate de pe acest site) *trebuie* salvate in folderul Document Root (locatia implicita este C:\Program Files\EasyPHP 5.3.0\www). Webserver-ul local instalat de EasyPHP va cauta fisierele doar in aceasta locatie. Daca fisierele sunt salvate in alta parte ele nu vor mai putea fi accesate in browser.

andrei a spus eroare - 18.07.2009

eu am vista. am salvat scroptul cu extensia .php in folder-ul www si apoi am incercat sa deschid http://localhost/. insa imi da urmatoarea eroare.

Failed to Connect

Firefox can't establish a connection to the server at localhost.

Though the site seems valid, the browser was unable to establish a connection.

* Could the site be temporarily unavailable? Try again later.
* Are you unable to browse other sites? Check the computer's network connection.
* Is your computer or network protected by a firewall or proxy? Incorrect settings can interfere with Web browsing.

am verificat daca semaforul este pornit si este. chiar nu mai stiu ce sa fac.putin ajutor va rog

Alexandru a spus Probleme Vista - 19.07.2009

Salut. Pe Vista este posibil sa fie nevoie sa rulezi EasyPHP ca administrator. Incearca asa si vezi daca merge. De asemenea EasyPHP nu trebuie sa fie blocat de nici un firewall sau antivirus

Alexandru a spus Probleme Vista - 19.07.2009

Eventual ai putea sa incerci sa accesezi http://127.0.0.1/ in loc de http://localhost/ (cele 2 sunt echivalente, dar poate nu ai configurarile necesare in Windows ca sa mearga cu localhost)

andrei a spus probleme vista - 19.07.2009

am incercat cu 127.0.0.1 si a mers. dar nu inteleg de ce funtioneaza numai dupa ip.

Alexandru a spus localhost vs. 127.0.0.1 - 20.07.2009

In mod normal, 127.0.0.1 este adresa de drept care pointeaza catre serverul local. Numele de "localhost" este doar o asociere la acest IP (asa cum un URL ca google.ro este asociat unui IP anume).

Asocierea asta dintre IP-ul local 127.0.0.1 si hostname-ul "localhost" se face, sub Windows, in fisierul C:\Windows\System32\drivers\etc\hosts

Acesta trebuie sa contina, pe langa liniile comentate (care incep cu #) urmatorul rand:

127.0.0.1 localhost

La tine este posibil ca aceasta linie sa lipseasca si din acest motiv browser-ul tau sa nu "stie" unde sa se duca atunci cand intalneste "localhost". Trebuie doar sa o adaugi pe un rand nou sub tot ce mai scrie pe acolo.

Nota: poti pune orice nume in loc de localhost, daca vrei, si apoi il poti accesa in browser, de ex. http://serverulmeu/

Alta nota: trebuie sa rulezi Notepad-ul ca administrator ca sa poti modifica fisierul "hosts" in Vista

pollzy a spus ????? - 12.10.2009

in momentul in care incerc incerc sa-i dau explore (F8) nu se intamla nimic, nu se deschide nici o fereasrta, nici o aplicatie, doar fereastra cu Apache si MySQL.PS :am win XP

Alexandru a spus Catre pollzy - 13.10.2009

Ar trebui ca fereastra de EasyPHP sa fie activa (focalizata) cand apesi F8.
Daca tot nu vrea, fa click-dreapta pe iconita de langa ceas, din SystemTray (acel E negru) si alege "Explore F8" din meniu.

Bogdan a spus Cum pun php? - 31.10.2009

Nu inteleg cum sa salvez ca php.
Ati zis voi sa salvez ca text.php dar nu inteleg.
Y!M pah_bog, ajutati-ma plzz

Alexandru a spus Raspuns lui Bogdan - 01.11.2009

Bogdan, scrii codul php intr-un editor text (cum ar fi Notepad sau Notepad++, sau Dreamweaver, sau oricare altul). Apoi il salvezi cu extensia ".php" (alegi "File" -> "Save As", scrii numele fisierului, test.php, alegi "All files" la Save as type si faci click pe butonul "Save"). Fisierul trebuie sa-l plasezi in folderul www unde ai instalat EasyPHP.

vic a spus merci - 25.11.2009

multumesc de indrumari ma invirteam in jurul cozii si nu intelegeam de ce nu merge , nu erau salvate unde trebuie.bine scris

pascalopol a spus informatii utile - 05.02.2010

Imi place introducerea foarte buna pe care ai facut-o. Chiar mi-ai salvat ceva timp pentru documentare. Keep walking!

Augustin a spus Nu reusesc F8 - 09.02.2010

Am incercat sa dau explore sau F8 in toate conditiile : cu fereastra deschisa , din Sistem Tray click dreapta si apoi Explore F8, din aplicatie dand click pe e-negru si apoi pe explore F8 si tot nu se intampla nimik. I need some help pls. Am instalat WIN 7

Nick a spus salut - 26.05.2010

Am pus o versiune mai noua si totul a mers, merci, cu versiunea data de voi nu merge ;)


Adauga un comentariu la aceasta sectiune.

 


De ce imi trebuie un server web?     !  

Instaland EasyPHP, calculatorul personal devine un server web (local, ce-i drept - accesibil doar de catre tine). Practic PC-ul se comporta ca un site ce are adresa http://localhost/ (sau http://127.0.0.1/). Este foarte important ca fisierele PHP sa fie accesate prin intermediul serverului web, deoarece acesta recunoaste scripturile PHP si invoca automat interpretorul PHP. Fara aceasta intermediere oferita de web-server, scripturile PHP nu ar fi procesate ci trimise asa cum sunt la browser.

De exemplu, avem un fisier care contine doar urmatorul cod: (atentie la semnul ! in afara tagurilor)

<?php print "Salut"; ?> !

Sa presupunem ca fisierul se numeste salut.php.
  -   Daca il accesam in browser folosind adresa "http://localhost/salut.php" (prin intermediul serverului web local) atunci interpretorul PHP este invocat, scriptul este executat iar rezultatul procesarii afisat de browser va fi "Salut!".
  -   Daca accesam fisierul direct de pe disc, scriind in browser calea lui "file:///C:/Program Files/EasyPHP 5.3.0/www/salut.php" se va afisa (in cel mai fericit caz) doar "!". Asta pentru ca interpretorul PHP nu este invocat, iar fisierul este transmis ca atare, cu tagurile de PHP (care sunt ignorate de browser).

Madalina a spus Ajutor! - 05.03.2009

Buna,cand accesez http://localhost/ nu ma duce in fisierul dorit. Imi da eroare. De ce?
* Eu nu am facut deloc informatica, dar am vointa de fier si sper sa invat. :) Trebuie sa invat neaparat sa lucrez in acest program.

Multumesc!

Alexandru a spus Pentru Madalina - 05.03.2009

Buna,

In primul rand trebuie sa te asiguri ca EasyPHP ruleaza si ca serverul web este pornit. Serverul web se numeste "Apache" iar in programul EasyPHP trebuie sa ai un semafor verde in dreptul lui (ca in imaginea asta: http://php.punctsivirgula.ro/resurse/easyphp.jpg). Daca luminita semaforului nu este verde inseamna ca ceva nu da voie serverului web sa porneasca (in acest caz trebuie sa te asigur ca EasyPHP nu e blocat de Windows sau de vreun firewall). Poti incerca sa pornesti apasand pe butonul "Apache" si alegand "Start".

Daca serverul web este pornit, atunci probabil nu ai salvat bine fisierul tau. Deschide Document Root-ul tau (in mod normal Document Root este folderul "C:/Program Files/EasyPHP 3.0/www/", dar depinde de locatia unde este instalat EasyPHP). In acest folder, asigura-te ca exista fisierul salvat de tine (salut.php). Este important sa aiba extensia .php altfel nu va fi recunoscut de serverul web.

La final, acceseaza direct fisierul mergand la adresa http://hocalhost/salut.php

Daca tot nu merge, posteaza te rog eroarea care este afisata - asa putem sa ne dam seama mai bine unde este problema.

Sper sa te ajute!

Dacian a spus Help? - 07.03.2009

Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404
localhost
03/07/09 23:55:41
Apache/2.2.11 (Win32) PHP/5.2.8


mie asa imi arata cand ii dau ii dau pe http://localhost/salut.php

Alexandru a spus Object not found - 11.03.2009

Hmm, atunci mai mult ca sigur fisierul nu este salvat unde trebuie.

Ca sa poata fi accesate de web server, scripturile trebuie puse obligatoriu intr-o locatie anume (nu pot fi salvate, de exemplu, in My Documents).

Ca sa verifici, cel mai bine mergi direct la http://localhost/ unde ar trebui sa fie afisata o lista cu fisierele existente in acea locatie (lista e generata automat de EasyPHP).

Daca numele fisierului (salut.php) nu apare in lista aia, inseamna ca nu a fost salvat unde trebuie. Daca apare, atunci e suficient un click pe el.

Spuneti-mi daca reusiti!

ionut a spus ajutor - 13.03.2009

Sa presupunem ca fisierul se numeste salut.php.
- Daca il accesam in browser folosind adresa "http://localhost/salut.php" (prin intermediul serverului web local) atunci interpretorul PHP este invocat, scriptul este executat iar rezultatul procesarii afisat de browser va fi "Salut!".
Am respectat toti pasii si nu imi afiseaza numai "Salut"
Imi arato tot ce am scris.
De ce?

Alexandru a spus Pentru Ionut - 13.03.2009

Este ciudat ce spui, mai ales daca ai instalat EasyPHP.

In mod normal problema descrisa apare daca ai un server web dar nu si modulul PHP. Daca acesta este cazul (ai instalat separat serverul web), verifica daca interpretorul PHP este instalat si configurat (detalii in limba engleza gasesti aici, la sectiunea "Installing PHP": http://adrian.lastdot.org/tutorial-install-apache-php-mysql )

Daca ai instalat EasyPHP (ceea ce iti si recomand pentru inceput), incearca sa mergi direct la http://localhost/ Daca pe pagina asta nu vezi nimic inseamna ca sunt probleme cu serverul web. In acest caz iti recomand sa dezinstalezi EasyPHP si sa o iei de la capat, sau, eventual sa incerci o instalare separata a serverului web si a PHP-ului asa cum este explicat in tutorialul mentionat mai sus.

Nota: scripturile tale trebuie sa aiba obligatoriu extensia .php. Daca este ceva de genul "salut.txt" sau "salut.php.txt" o sa patesti acelasi lucru pe care l-ai descris tu (iti apare tot codul fara sa fie interpretat)

Mihai a spus intrebare - 19.03.2009

trebuie doar instatal EasyPhp? eu nu am nimic instalat pt php, gen apache sau mysql .. neaparat trebuiesc instalate si cele 2? (apachele si mysql`ul)

Alexandru a spus Easy PHP este suficient pentru a lucra cu PHP-ul - 19.03.2009

Depinde de ce vrei sa faci. Spre exemplu, PHP ofera posibilitatea de a rula scripturile din linia de comanda (de genul, deschizi Command Prompt si scrii "php script.php", iar pe ecran o sa fie afisat rezultatul scriptului). Desi aceasta facilitate este folosita mai rar, ea exista si pentru a o utiliza nu este nevoie de Apache, ci doar de PHP instalat separat.

Daca in schimb vrei sa accesezi pagini dinamice PHP in browser, e obligatoriu sa ai un server web (Apache). Asa cum am mai zis, poti sa instalezi separat Apache si separat PHP si apoi sa le configurezi, dar este mai simplu (si fara dureri de cap) sa folosesti EasyPHP.

EasyPHP este un pachet ce contine Apache+PHP configurate sa functioneze impreuna - aplicatii care iti sunt suficiente pentru a folosi si lucra in PHP. In plus EasyPHP mai are si MySQL - un sistem ce permite lucrul cu bazele de date (inca nu sunt lectii pe site despre cum se foloseste MySQL, dar vor fi in curand).

Asadar, EasyPHP este *suficient* - odata instalat nu mai ai nevoie de altceva pe calculator.

Mihai a spus mersi - 23.03.2009

ms mult pentru explicatie :) raman dator .. eu vroiam sa fac un joc in php si de aceea am intrebat :)

Catalin a spus WAMPP - 15.04.2009

Salut. O alternativa buna este wampp. Locrez frecvent cu el, are un install care face toata treaba si este usor de utilizat. Felicitari pentru site. Daca il poti dezvolta ar fi OK. Succes si astept noi "lectii".

Patriciu a spus Mersi! - 16.04.2009

Mersi mult pentru aceasta documentatie PHP si succes in continuare cu site-ul. Sper sa "creasca" cat mai rapid si bine!

Dan a spus Solutie - 29.07.2009

Daca va va arata in browser tot codul php mergeti intr-o fereastra de folder la optiunea TOOLS
Folder Options
Wiew
si debifati optiunea
Hide extensions for known file types
Multa bafta!

Cristi a spus Multumec! - 05.10.2009

Multumec! Multumesc Multumesc!
Caut de mai bine de o saptamana o explicatie simpla, exacta si completa care sa ma indrume sa execut un simplu fisier php si m-au luat durerile de cap,... am instalat de nu stiu cate ori, mai multe versiuni de php si fiecare imi da alte solutie de configurare, implementare si as mai departe,... nu am inteles explicatii de genu copiaza fisiere de aici aic, daca nu exista directorul x, trebuie creat si copiat acolo x,... trebuie configurat un program cu altul, si nu stiu de ce atunci cand erau facute arhivele nu contineau si directoarele obligatorii sau dece la instalare nu erau copiate fisierele si in directorul windows si trebuia sa o fac eu, si oricum nu-mi functiona... acum pot sa spun ca am facut primul pas!

Etic a spus Multumiri - 10.11.2009

Probabil nu are rost acest mesaj dar tin sa-ti multumesc pentru primul pas ! este primul tutorial cu care am reusit sa fac ceva ... ! Felicitari si bafta cu site-ul !

dani a spus va rog.... - 21.11.2009

am invatal la sc html si vreau sa invat singura si php-ul.am o problema.....nu inteleg faza cu extensiile ascunse...bun am debifat acea casut dar acum toate mi se salveaza cu .txt (prima.php.txt)... si nu merge ...???????????

dani a spus am reusit - 21.11.2009

gata am reusit era o greseala a mea:*

Alex a spus Multumesc - 18.12.2009

Fain frate... dupa o zi si ceva de cautari, instalari si dezinstalari, aici am gasit ceva sa functioneze totul.
Am retinut punctul si virgula ca sa-l mai vizitez in speranta ca voi vedea dezvolatrea ulterioara
Bafta!!

adi a spus Editoare text? - 28.01.2010

Pentru a lucra cu php e nevoie de un editor text. Cred ca ar fi util pentru incepatori un editor care sa coloreze functiile si elementele importante dintr-un program. Am vazut intr-un filmulet un astfel de editor, stie cineva cum se numeste? http://video.hotpin.co.cc/watch.php?vid=a5efd640

Alex a spus Editoare Text - 28.01.2010

Salut Adi,

In filmuletul acela se foloseste Adobe Dreamweaver.
Ca alternativa (gratuita) puteti folosi Notepad++, psPad sau Eclipse cu pluginul de PHP.

Un editor bun, specializat pe PHP, dar care necesita licenta, este Zend Editor.

Eu personal folosesc Notepad++ :)


Adauga un comentariu la aceasta sectiune.