top

Tutorial PHP Functii-Variabile PHP

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului WwW.CsGameGroup.Tz4.Com -> Tutoariale utile
Autor Mesaj
csgame
Senior
Senior


Data inscrierii: 13/Sep/2007
Mesaje: 95

MesajTrimis: 07/10/2007 15:29    Titlul subiectului: Tutorial PHP Functii-Variabile PHP Raspunde cu citat (quote)

PHP [cuprinde functii variabile...]

Index:
1-Preluarea datelor din formularele HTML
2-Functia mail
3-Notiuni de baza
4-Variabile
5-Functii

1-Preluarea datelor din formularele HTML


Recapitulare: in tutorialul de HTML la capitolul Formulare am mentionat ca eticheta form are atributele action si method iar fiecare camp din formular avea un name.

action indica fisierul care prelucreaza datele introduse in formular cand este apasat butonul Trimite
method indica modul in care datele sunt trimise spre prelucrare pe server si poate avea valorile: POST cand datele trimise nu sunt vizibile utilizatorului si GET cand datele sunt adaugate la adresa URL. Metoda POST îngăduie trimiterea unei cantitati mai mari de date decat metoda GET.
name este un atribut care identifica datele introduse in fiecare camp al formularului

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"]; </font>

Exemplu: formular cu un camp si scriptul php de preluare a datelor




<font><form>
Nume: <input><br>
<input>
</form>

/* urmeaza fisierul exemplu5_1.php */
<php>


Verificarea datelor introduse in formular
Pentru a fi siguri ca utilizatorul a completat campurile trebuie sa adaugam scriptului bucată de verificare.

Exemplu: folosim acelasi formular dar adaugam partea de verificare




<php></font>
Partea de verificare poate avea mai numeroase conditii simultane.

Exemplu: acelasi formular dar fracțiune de verificare are doua conditii legate prin operatorul OR sau ||
<font><?php
$nume=$_POST["nume"];
if (($nume=="") || (strlen($nume)<5>



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 server dar 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 form va 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>
Fisier pentru upload: <input><br>
<input>
</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>0)) {
move_uploaded_file($c,$b);
echo "Original file name: ".$b."<br>";
echo "File name after upload: ".$b."<br>";
echo "File size: ".$a."<br>";
echo "File type: ".$d."";
}
?>



2-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 ( ) 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 ( )

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, altfel FALSE.
Acceptarea mailului pentru trimitere nu inseamna obligatoriu si ca a fost trimis.

Exemplu: trimiterea unui simplu mail
E-mail;;
$subject="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 întrebuințat caracterele distincte pentru afisarea fiecarei informatii pe un nou rand



E-mail;;
$subject="functia mail";
$mesaj="Mail trimis cu functia mail din PHP";
$headers = 'MIME-Version: 1.0'." ";
$headers .= 'Content-type: text/html; charset=iso-8859-1'." ";
$headers .= 'From: E-mail; ";
$headers .= 'Cc: E-mail; ";
$headers .= 'Bcc: E-mail; ";
mail($to, $subiect, $mesaj, $headers);



Notiuni de baza

PHP este prescurtarea de la Hypertext PreProcessor.
Spre deosebire de paginile HTML care puteau fi verificate si pe calculatorul local paginile PHP nu pot fi verificate decat daca sunt gazduite pe un server web care are instalat PHP.

Cand accesam o pagina HTML serverul care o gazduieste trimite pagina HTML catre browser spre afisare. In cazul unei pagini PHP serverul citeste codul PHP, il interpreteaza si genereaza dinamic pagina HTML care este trimisa browserului spre afisare. Acesta este motivul pentru care utilizatorii folosesc PHP pentru construirea unor pagini cu continut dinamic.

Fisierele PHP au extensia php. Puteti scrie astfel de fisiere cu Notepad sau cel mai indicat cu un editor specializat care va indica si numarul liniilor, lucru util la depanarea scripturilor. Verificati ca nu aveti extensiile ascunse (My Computer -> Tools -> Folder Options -> View -> debifati Hide extensions for known file types). Pentru a putea crea fisiere php dati clic dreapta New -> Text Document, apoi il redenumiti nume.php.

Cand PHP-ul parcurge un fisier de fapt "citeste" textul pana cand intalneste una din etichetele speciale care-i spun sa inceapa sa interpreteze textul ca pe cod PHP. Se executata codul pana cand este intalnita eticheta de inchidere. Apoi se "citeste" din nou textul mai departe. Acesta este motivul pentru care se poate adauga cod PHP in interiorul HTML-ului.

Important:

* in cazul functiilor nu se face diferenta intre utilizarea literelor mari sau mici
* pentru variabile se face diferenta intre întrebuințarea literelor mari sau mici
* inchiderea unui rand se face obligatoriu cu caracterul ;
* ghilimelele se folosesc pereche "..." sau '...', folosirea lor "...' sau '..." constituie o eroare

Codul PHP este delimitat de unul din urmatoarele seturi de etichete de deschidere si inchidere:
<php> etichete recomandate
<script> </script>
<? ?> folosirea lor necesita anumite setari pe server
<% %> etichete tip ASP, folosirea lor necesita anumite setari pe server

Exemplu: cel mai modest script PHP este:



<php>


Daca veti verifica functionarea acestui script pe un server veti vedea ca este afisat textul delimitat de ghilimele.
Functia echo este folosita pentru afisarea informatiilor delimitate de ghilimele. Nu uitati sa inchideti randul cu ;. Similar functiei echo este functia print.

In situatia in care scriptul nu este scris corect PHP-ul va afisa eroarea indicandu-va si locul unde aceasta apare. Erorile sunt afisate doar daca serverul este setat corespunzator (in php.ini este setat display_errors=On si error_reporting=E_ALL).

Exemplu: in interiorul scriptului puteti insera si etichete HTML
</b>

Exemplu: fisierul PHP poate contine intre etichetele <html> si </html> blocuri PHP delimitate de <php>



<html>
<head><title>Exemplu0_3</title>
</head>
<body>
Bloc HTML<br>
<php>
</body>
</html>


In PHP sunt trei metode prin care se poate adauga un comentariu care evident nu va fi afisat in browser ci are ca scop doar adaugarea de informatii necesare programatorului.
Tot ce urmeaza dupa caracterele // sau # este considerat comentariu. De exemplu:
// Urmeaza un comentariu in PHP

Un comentariu format din mai multe linii este incadrat de /* si */. De exemplu:



/* Comentariul in PHP
scris pe doua linii */


Exemplu: atribuim variabilei $program valoarea PHP si apoi o tiparim
<php>

Exemplu: in aceeasi constructie echo putem folosi text impreuna cu o variabila
<php>

Modificand valoarea variabilei se modifica ceea ce este afisat de browser.

Intr-un script puteti folosi mai multe variabile care pot fi adaugate in aceeasi constructie echo.

Exemplu:
<php>
In PHP sunt opt feluri de variabile primitive:

* patru soiuri scalare: intregi, numere cu virgula flotanta, siruri si boleene
* doua tipuri compuse: matrice si obiecte
* doua tipuri speciale: resurse si NULL

Intreg (integer) este un necomplicat numar intreg exprimat in sistem zecimal, hexazecimal sau octal, optional putand purta si semn (+ sau -).
In sistem octal numarul trebuie precedat de 0 iar pentru hexazecimal precedat de 0x.
$a=2006; //numar exprimat in sistem zecimal
$a=-52; //numar negativ exprimat in sistem zecimal
$a=0135; //numar octal (echivalent cu 207 zecimal)
$a=0x1D; //numar hexazecimal (echivalent cu 29 zecimal)


Numerul cu virgula flotanta (float) sau dubla precizie este un numar real care poate fi folosit cu urmatoarea sintaxa:
$a=3.14; //numar zecimal
$a=-2.59; //numar zecimal negativ
$a=1.3e2; //130
$a=6E+3; //6000


Exemplu:
</sup>
Sirul (string) este o variabila care contine o combinatie de numere, litere, simboluri si spatii delimitate intre doua ghilimele simple sau duble. Sirurile pot contine si nume de variabile.

Exemplu:
<php>


Cea mai simpla cale pentru a specifica un sir este sa il incadram intre ghilimele simple (') dar eventualele ghilimele simple continute vor fi precedate de caracterul . In aceasta situatie variabilele si caracterele aparte vor fi ignorate.
echo "acesta este un sir"; //acesta este un sir
echo "variabila $a"; //variabila $a
echo "rand1 rand2"; //rand1 rand2


Daca sirul este definit prin ghilimele duble (") PHP-ul interpreteaza mai multe secvente pentru caracterele speciale:
Secventa Semnificatie
rand nou
sfarsit de linie
tab orizontal
\ backslash
$ simbol dolar
" ghilimele duble

Variabila boleana exprima valoarea de adevar: TRUE sau FALSE. Absolut orice valoare diferita de zero sau sir care nu este gol (contine cel putin un caracter) sunt considerate ca TRUE.

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 întrebuințând functia array():
$matrice = array('apa','aer','foc');

Exemplu: cream o matrice si ii tiparim elementele folosind functia print_r



<php>


Exemplu: utilizam aceeasi matrice dar folosim functia var_dump() care ne arata cate elemente sunt in matrice si lungimea fiecarei valori a sa


<php>


Primul index al unei matrici are valoarea 0. Valorile indexilor pot fi si declarate manual.

Exemplu: cream o matrice cu indexii 1, 3 si 5



<php>'calculator',3=>'monitor',5=>'imprimanta');
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

Exemplu: stergem elementul 3 din matricea $matrice


<php>'Matematica',2=>'Fizica',3=>'Biologie',4=>'Istorie');
unset($matrice[3]); //sterge cheia 3 Biologie
print_r ($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

Scopul variabilelor depinde de contextul in care sunt definite. Majoritatea variabilelor din PHP au un solitar scop. Acesta se aplica si pentru fisierele adaugate prin functiile include() si require().

Exemplu:


<php>

/* urmeaza fisierul exemplu1_9b.php */
<php>


Orice variabila folosita in interiorul unei functii este limitata doar scopului functiei.

Exemplu: fiindcă functia foloseste o variabila declarata in afara ei echo nu va afisa nimic


<php>


Exemplu: aceeasi functie dar acum declaram variabila de tip global pretext pentru care echo va afisa corect



<php>


Variabile statice


O alta caracteristica importanta a scopului variabilei este variabila statica care exista doar in scopul functiei locale dar isi pierde valoarea cand executia scriptului inceteaza.

Exemplu: executarea succesiva a functiei va afisa tot timpul 0



<php>



Exemplu: aceeasi functie dar declaram variabila ca fiind statica. De cate ori functia va fi executata ea va incrementa valoarea anterioara a variabilei $a


<php>


Variabile variabile
Cateodata este util sa avem nume variabil pentru variabila

Exemplu:


<php>


Exista functii care determina tipul variabilei.

Exemplu: verificam daca variabila $a este de tip intreg



<php>



Exemplu: verificam daca variabila $a este de tip numar cu virgula flotanta


<php>



Exemplu: verificam daca variabila $a este de tip sir



<php>


Exemplu: verificam daca variabila $a este o matrice



<php>


Functii

Functia este o secventa de cod ce poate fi utilizata de mai multe ori in interiorul marilor scripturi si este prezentata in script prin declaratia ei.
Functia chemata (invocata) va contine acelasi numar de argumente ca in declaratie.



function foo($arg_1,$arg_2, $arg_n) {
echo "Exemplu. ";
return $val
}



unde:
foo este numele functiei
$arg_1, $arg_2, ... , $arg_n sunt argumentele functiei
$val este valoarea returnata de functie

Exemplu: construim o functie care aduna 2 variabile



<php>



Exemplu: o functie care genereaza un tabel



<?php
function tabel($lim) {
echo "<table> ";
for ($i=0; $i</td>


loll sper sa va foloseasca .. mie m-i se pare ff bun tutorialul Smile)
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:    Subiectul anterior : Subiectul urmator  
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului WwW.CsGameGroup.Tz4.Com -> Tutoariale utile Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum

Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro