Prima pagină > Mini-Curs PHP > Curs PHP Partea a VI a:PHP cu Formulare

Curs PHP Partea a VI a:PHP cu Formulare


PHP cu Formulare

Introducere

In lecţia anterioară am văzut cum folosim PHP-ul pentru a
trimite mesaje e-mail dintr-un script. In lecţia aceasta vom contiua
această discuţie şi vom vedea cum folosim formularele cu PHP,
pentru a face scripturile PHP cât mai utile.
Construcţia formularului

Scrierea unui formular pentru a fi folosit cu un script PHP se face exact
la fel ca şi în mod normal, în HTML. Cum acesta este un
curs de PHP nu vom intra în detalii privind scrierea formularului, ci
vom discuta trei dintre compunentele pe care trebuie să le
ştiţi:

Cod:
<input type=”text” name=”caseta”
value=”Numele d-voastra”>

va afişa o caseta pentru introducerea unui text, casetă în
care apar scrise (la început) cuvintele Numele d-voastra.
De fapt atributul value în această linie este opţional.
Informaţia – textul atribuit atributului name va constitui
numele acestei casete text, trebuind să fie unic în formular.

Cod:
<textarea name=”mesaj”>
Scrieţi aici mesajul d-voastră.
</textarea>

va afişa o casetă mare de text cuprinzând îndemnul ‘Scrieţi
aici mesajul d-voastră.’. Si de data aceasta, numele casetei este
definit (mesaj) şi trebuie să fie unic.

Cod:
<input type=”submit” value=”Trimite”>

această linie va crea un buton de trimitere în formularul
respectiv. Desigur puteţi schimba/alege textul care apare pe buton
modificând expresia atribuită lui value.
Toate elementele formularului trebuie să fie cuprinse între
tagurile <form> . Adică se folosesc cam aşa:

Cod:
<form action=”prelucrare.php” method=”post”>
Elementele Formularului şi comenzile de formatare, etc.
</form>

unde valoarea atribuită lui form action spune care este
script-ul căruia i se transmit datele (în acest caz fişierul
prelucrare.php). Aici putem avea chiar un URL complet (spre exemplu

http://relis.uvvg.ro/~jalobean/Cursuri/ … ucrare.php

).
Metoda method spune formularului cum să transmită datele
sale. Cu opţiunea POST datele vor fi trimise scriptului într-un pachet
(stream) atunci când acesta le cere. O altă opţiune
este GET, caz în care datele din formular sunt trimise în forma
unui url astfel că vor apare după un semn ? , precum în
exemplul:

Nu prea contează care metodă o folosiţi, dar este mai bine
să folosiţi POST dacă-i vorba de informaţii delicate
(parole, etc.) pentru ca acestea să nu poată fi văzute
în bara de adrese a navigatorului.

Obţinerea datelor din formular

Pasul următor este să luăm, să extragem datele din
formularul transmis script-ului, astfel încât să putem face
ceva cu ele. Există două procedee diferite de extragere a datelor
în PHP, care depind de modul în care datele au fost trimise (cu
metoda GET sau cu POST). Diferenţa majoră dintre cele două
constă în faptul că, folosind GET, variabilele şi
datele vor fi vizibile în adresa paginii, în timp ce folosind
POST acestea sunt invizibile. Cu GET, însă, putem transmite
informaţii către script fără un formular, pur şi
simplu editâbd URL-ul.
Asta se poate face cam la fel cu transmiterea formularului folosind GET.
Avantajul ar fi că, astfel se pot crea legături la script-uri
care vor produce efecte diferite în funcţie de legătura
selectată. Spre exemplu, putem construi un script care să ne
arate diferite pagini Web, funcţie de legătura selectată:

Cod:
pagina.php?user=jalobean

poate arăta pagina mea Web (a utilizatorului jalobean,
iar:

Cod:
pagina.php?user=djalobeanu

poate arăta pagina utilizatorului djalobeanu de pe serverul
Relis, folosind acelaşi script.
Ba este posibil şi să transmitem script-ului mai mult decât o
singură valoare a unui atribut folosind schema de mai sus şi
separând elementele prin simbolul & :

Cod:
pagina.php?user=david&referrer=gowansnet&area=6

Aceste elemente vor putea fi accesate separat folosind variabilele GET:
user, referrer şi area.
Pentru a prelua o variabilă care a fost trimisă script-ului cu metoda POST
trebuie să folosim un apel de forma:

Cod:
$nume_variabila=$_POST[‘variabila’];

care preia, în fond, variabila de la POST (numele unui câmp din
formular) şi o atribuie variabilei $nume_variabila.
Similar, la folosirea metodei GET vom scrie:

Cod:
$nume_variabila=$_GET[‘variabila’];

Iar asta se poate face şi trebuie făcut pentru fiecare
variabilă pe care vrem să o folosim din formular (sau din URL).

Formularul pentru script-ul e-mail

In încheierea acestei secţiuni, să vedem cum aplicăm
cele discutate mai sus şi cum realizăm un mecanism care să
producă şi să ne transmită un mesaj e-mail cu comentariile
unui utilizator.
Mai întâi să pregătim formularul pentru a-l include
în pagina HTML:

Cod:
<form action=”mail.php” method=”post”>

Numele: <input type=”text” name=”nume”><br>
Adresa E-mail: <input type=”text” name = „email”><br><br>
Comentarii<br>
<textarea name=”comentar”></textarea><br><br>
<input type=”submit” value=”Trimite”>
</form>

Astfel avem un formular simplu în care utilizatorul poate introduce
adresa sa e-mail, numele său şi comentariile dorite. Putem desigur
să adăugăm şi alte părţi într-un
asemenea formular, cu condiţia să actualizăm şi
script-ul. Pentru cazul simplu de mai sus, scriem următorul script PHP:

Cod:
<?
$numele=$_POST[‘nume’];
$adresa=$_POST[‘email’];
$comentariu=$_POST[‘comentar’];
$catre=”jalobean@relis.uvvg.ro”;
$mesaj=”$numele tocmai a transmis comentariile sale. Acolo
spune:\n$comentariu\n\nAdresa sa e-mail a fost: $adresa”;
if(mail($catre,”Comentarii din propriul Site”,$mesaj,”From: $email\n”))
{
echo „Multumiri pentru comentariile d-voastra.”;
} else {
echo „Exista o problema la transmiterea mesajului.
Verificati, va rog, modul in care ati completat formularul.”;
}
?>

Nu uitaţi să înlocuiţi adresa mea e-mail
jalobean@relis.uvvg.ro cu propria voastră adresă e-mail.
Acest script trebuie salvat ca fişier cu numele mail.php , iar
ambele fişiere (acesta şi pagina Web în care a fost inclus
formularul de mai sus) trebuie încărcate pe serverul Web în
zona destinată documentelor accesibile (acolo de unde vor fi apelate).
Tot ce a mai rămas atunci de făcut, este să verificăm
completând formularul.

Categorii:Mini-Curs PHP
  1. Niciun comentariu până acum.
  1. No trackbacks yet.

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

%d blogeri au apreciat asta: