Arhiva pentru tagul “Invatam-PHP”

Învăţăm PHP: Despre date()

Cred că nu este pagină pe care o încarc mai des din documentaţia PHP ca pagina despre funcţia date() (o găsiţi aici) De ce? Pentru că nu am reuşit – încă :) – să reţin pe de rost decât unele formatări mai comune. Dar la urma urmelor de ce să mă chinui să memorez când dintr-un click pot revedea detaliile? Oficial funcţia este explicată astfel: date($formatare,$timp) întoarce un string formatat în conformitate cu stringul de formatare dat, utilizând timpul indicat, sau data şi ora curentă dacă nu este furnizat nici un timp.

Totul este deci să ştiţi cum formataţi data în primul argument al funcţiei. De exemplu date(‘Y’) va returna anul în care ne aflăm. În schimb date(‘H:i:s’) va da ora, minutele şi secundele (în format 04:01:03, adică cu zero în faţă dacă e cazul). O simplă schimbare poate fi foarte importantă: H e pentru reprezentarea orei în …


Învăţăm PHP: Despre timp şi date

Trecem acum de la şiruri la timp şi dată. Vom începe cu o parte puţin mai teoretică. PHP, prieten cu (în timp familia de sisteme de operare) Unix, a adoptat timpul după aşa-numita Eră Unix. Ea a început la 1 ianuarie 1970 şi se numără în secunde. La începutul acestui an am avut un articol intitulat La noapte un moment istoric! La ce moment istoric se referea? În noaptea dintre 13 spre 14 februarie 2009 Era Linux a împlinit 1234567890 secunde :) .

Mai jos vedem funcţia mktime() (make time – ‘fă timpul’ după parametrii din paranteze). Ea primeşte ca parametrii orele, minutele, secundele, luna, ziua şi anul dorit. În linia 1 generăm timpul Unix pentru începutul erei Unix. Ne-am aştepta să fie 0… dar nu e. Depinde de timpul serverului faţă de GMT. La americani va da cu plus (vedeţi aici), pe când în România …


Învăţăm PHP: Despre şiruri (emexlpu de pmlerobă)

Aş mai fi putut prelungi mult partea cu şiruri dar informaţiile de bază sunt acoperite. În rest studiaţi documentaţiile, unde găsiţi informaţii despre fiecare din cele câteva zeci de funcţii pe şiruri. M-am gândit că ar fi în schimb mai interesant să vedem ceva aplicaţii la ce am învăţat. Şi tocmai de aceea vă propun să ameţim literele în cuvinte! Sunt sigur că aţi primit şi Dvs emailuri în care literele din cuvinte erau amestecate, mai puţin prima şi ultima. Drept urmare puteaţi citi ce scrie, pentru că – dacă îmi amintesc bine explicaţia – creierul recunoaşte cuvintele pe blocuri nu neapărat din succesiune. În fine, partea psihologică ne pasionează mai puţin. Haideţi să vedem deci un emexlpu de pmlerobă (adică un exemplu de problemă).

Evident problema este un pretext să ne verificăm cunoştinţele şi să mai învăţăm unele lucruri noi. Pornim deci de la o variabilă text (string) în care …


Învăţăm PHP: Despre şiruri (funcţii)

După cum spuneam, PHP-ul este plin de funcţii. Aceasta ne uşurează mult munca. De exemplu avem un şir şi dorim să aflăm valoarea maximă: evident că, dacă avem ceva cunoştinţe de programare, putem să implementăm noi o funcţie, folosind diverşi algoritmi. Dar PHP oferă nativ o astfel de funcţie. Surpriză: îi spune simplu max(). De fapt această funcţie nu este strict specifică array-urilor. Putem să îi dăm ca parametru un array, o variabilă şir, dar putem şi să îi indicăm concret valorile (ex: echo max(3,1,5);). În replică există şi funcţia min(), ce merge şi ea pe array-uri. Vedem deci cum o sintaxă scurtă (ex: max($numere);) scuteşte un cod lung de câteva linii.

Trecem acum de primele trei linii (secvenţa 1) şi vedem următoarele trei linii (secvenţa 2) din codul de mai jos. Am definit un array cu câteva nume de copii. Să presupunem că vrem să tragem la sorţi, complet aleator, …


Învăţăm PHP: Despre şiruri (iteratori, formulare)

PHP este un limbaj de programare dinamic. De aici şi bune şi rele. Ce poate fi bun? Apar în timp funcţii noi, se corectează buguri vechi… aşa că PHP creşte şi devine tot mai puternic. Pe de altă parte orice modificări înseamnă că un cod mai vechi ar putea să nu meargă cu o versiune nouă de PHP. Fiţi liniştiţi: funcţiile vechi sunt păstrate lungi perioade doar de dragul compatibilităţii. Astfel problema mai întâlnită nu este rularea unui cod vechi pe o versiune nouă, ci a unuia nou pe o versiune veche de PHP. De exemplu mai jos am să vă prezint o metodă de parcurgere a unui array (şir, tablou) introdusă doar în PHP 5. Dacă vreţi să programaţi ceva şi să meargă şi sub PHP 4 evitaţi să folosiţi iteratorul pentru array-uri.

Multe servicii de hosting oferă însă sau direct PHP 5 sau la alegere PHP 4 sau 5. …


Învăţăm PHP: Despre şiruri (complexe)

Am vorbit deja de două ori despre array-uri unidimensionale. Dar nimeni nu ne opreşte să facem şiruri mai complexe. Spuneam deja: elementul unui şir poate să fie alt şir; iar elementul acestuia la rândul lui un şir. Ş.a.m.d. În exemplul de mai jos vedem un array total neobişnuit: primul lui element este tot un array, asociativ, pe când al doilea este un array obişnuit. Da, PHP nu „tuşeşte” la astfel de combinaţii. Există cazuri în care o astfel de libertate este necesară… dar de cele mai multe ori folosim structuri mai… (logic) structurate :) .

Revenind la cod: intuiţi ce va afişa $romania[0][‘imn’]? Se ia primul element al şirului $romania, care este un şir asociativ. Se caută în el cheia „imn” şi se returnează ce îi este asociat acestei chei. Mai exact: „Desteapta-te, romane!” Dar $romania[1][2] ce va afişa? Este vorba de al doilea element al şirului $romania, care este un …


Învăţăm PHP: Despre şiruri (tot simple)

Array-urile (şirurile) sunt prea importante ca să trecem foarte rapid. Mai zăbovim deci la array-urile simple, adică unidimensionale. Vă amintiţi că în articolul trecut defineam la un array numele variabilei şi imediat şi valorile (între paranteze). Dar poate un şir se construieşte dinamic! În astfel de cazuri îl putem defini (îi spunem numele) iar valorile le vom indica ulterior. Un exemplu banal: $sir[10]=”banane”;

Mai jos, în scop didactic, să vedem cum creăm un şir în care să păstrăm pătratele primelor 10 numere naturale. Apoi vedem cum putem adăuga manual (adică nu generat într-o buclă) nişte valori. Putem să omitem indexul, caz în care se va pune automat (mai întâi pe poziţia 0 – nu aţi uitat, nu?, că şirurile încep cu indexul de la zero – apoi pe unu ş.a.m.d.). Verificaţi aici ce produce codul de mai jos.

[PHP]$patrate=array();
for($i=1;$i…


Învăţăm PHP: Despre şiruri (simple)

În lecţia despre Variabile şi constante am pomenit ceva despre tipurile din PHP. Atunci mă rezumam la numere (integers, floating) şi texte (strings). Am sărit atunci – ca să fie totul cât mai uşor – peste un tip foarte important: în engleză ar fi tipul array, iar eu aş prefera să îi spun şir. În fapt el ascunde ceva mai mult decât un simplu şir, dar toate la rândul lor.

La ce este util acest tip şir? Sunt situaţii în care în aceeaşi variabilă vrem să avem memorate mai multe valori… un şir de valori. Este mai comod nu doar ca scriere ci şi ca utilizare, după cum vom vedea în timp. Câteva exemple mai jos:

[PHP]$fructe=array(‘mere’,’pere’,’cirese’,’struguri’,’visine’);
$anotimpuri=array(‘primavara’,’vara’,’toamna’,’iarna’);
$identificare=array(‘costel’,’popescu’,23,’costel@po.ro’,’h839dejw3′);

echo ‘Imi place sa mananc ‘.$fructe[0].’.’;
echo ‘S-a dus ‘.$anotimpuri[2].’.’;
echo ‘Parola mea supersecreta este ‘.$identificare[4].’.’;[/PHP]

După cum vedeţi este uşor să definim un şir. Îmi amintesc când în liceu eram la această lecţie. Profesorul desena pe …


Învăţăm PHP: Despre $_SERVER

Facem puţin un salt înainte. Dacă aveţi ceva experienţă cu scrierea de pagini web veţi înţelege următoarele. Dacă nu, încercaţi să citiţi şi eventual, dacă nu vă spune prea multe, lăsaţi deoparte acest articol. Pentru unii s-ar putea să aibă sens abia mai încolo. Dar aş vrea ca acum să continui cazurile foarte particulare de variabile predefinite. Am văzut $_GET şi $_POST, atât de utile în programare. Foarte utile sunt şi variabilele furnizate de $_SERVER. După cum intuiţi din nume, oferă informaţii despre server.

Ca de obicei ne servim de un cod. Îl puteţi vedea în acţiune dând click aici. Am apelat pagina cu un parametru doar de dragul ca QUERY_STRING să semnaleze ceva, chiar dacă în sine codul nu justifică. Citiţi deci pagina cu rezultatele şi lucrurile mai-mai că s-ar explica singure. Dacă e nevoie reveniţi la articol căci vom încerca să le explicăm pe scurt. Important: mai …


Învăţăm PHP: Despre $_POST

Am văzut în lecţia anterioară cum cunoştinţele de bază dau roade. Nu? Am văzut ce dinamicitate pot primi paginile cu $_GET. Metoda e foarte utilă atunci când noi alcătuim legăturile (generate de noi, utilizate de noi, în situl/webaplicaţia noastră). Evident nu îi vei spune niciodată cuiva: „te rog vizitează-mi pagina cucubau.php dar nu uita să pui parametru abc cu valoarea 5 şi xyz cu valoarea 111”. Nope. Niciodată. Dacă vrem ca anumite informaţii să fie furnizate de utilizator ne folosim de formulare. Am pornit de la premisa că ştiţi HTML. Menţinem premisa. În codul de mai jos avem un mic formular care cere numele şi o culoare. Simplu.

Întrebarea este: cum fructificăm aceste date? Păi în loc de $_GET (care, reţineţi, ia date din URL-ul care cere execuţia scriptului, încărcarea paginii PHP) folosim $_POST (care ia datele dintr-un flux invizibil navigatorului, via HTTP POST). Utilizarea este similară: $_POST[‘numele_campului’], evident folosind în …