PHP - limbaj de programare
Trimiterea datelor din formular XHTML
Sa ne reamintim cum se creeaza un astfel de formular mai intai. El este descris in cursul de HTML, capitolul “Formularele”.

Formularele sunt de mai multe feluri
:
1.    text
2.    radio
3.    meniu derulant

1.    TEXT
<input type=”text” name=”adress” size=”40”>

2.    RADIO
Mr. <input type=”radio” name=”title” value=”Mr.”>

3.MENIU DERULANT
Studii: <select name=”response”>
<option value=”liceu”>Liceu</option>
<option value=”medii”>Medii</option>
<option value=”facultate”>Facultate</option>
</select>

 
Mai jos aveti un exemplu complet (trimiterea unui referat online):

<html>
<body>

<form action="primesc_datele.php" method="post">

 
 Dl.<input type="radio" name="title" value="dna">
D-na <input type="radio" name="title" value="dl">
<br />

Numele: <input type=”text” name=”nume” size=”18” />
<br /><br />
Prenume: <input type=”text” name=”prenume” size=”17” />
<br /><br />
Email: <input type=”text” name=”email” size=”20” />
<br /><br />


Domeniul: <select name=”domeniul”>
<option value=”romana”>Romana</option>
<option value=”matematica”>Matematica</option>
 
<option value=”geografie">Geografie</option>
<option value=”istorie”>Istorie</option>
<option value=”economie”>Economie</option>
</select>

<br /><br />
Comentarii: <textarea name=”comentariu” rows="2" cols="20"></textarea>
<br /><br />

<label for="file">Nume fisier:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Trimite referatul " />

</form>

</body>
</html>

 

Sa analizam:

<form action="primesc_datele.php" method="post"> // primesc_datele.php este fisierul unde sunt trimise datele completate in formular, prin metoda POST.

<textarea name=”comentariu” rows="2" cols="20"></textarea> // ofera utilizatorului un spatiu in care acesta isi poate scrie comentariile, spatiu mai mare decat cel furnizat de un camp de text.

<input type="submit" name="submit" value="Trimite referatul " /> // acesta este butonul de trimitere.

<input type="file" name="file" id="file" /> // permite gasirea fisierului ce doriti sa-l trimiteti si trimiterea lui la adresa specificata la form action




Utilizarea metodei POST sau GET
Diferenta dintre metodele GET si POST consta in modul in care informatia din formular este transmisa scriptului care o prelucreaza. Metoda GET trimite toate informatiile adunate ca parte a adresei URL.
Metoda POST transmite informatia intr-o maniera invizibila pentru utilizator. De exemplu, daca va trimiteti formularul folosind metoda GET adresa URL rezultantava avea una spect asemanator cu liniile urmatoare:
http://www.cursurigratuite.ro/formular.php?title=Dl&nume=ion

Daca se utilizeaza metoda POST, utilizatorul final va vedea numai:
http://www.cursurigratuite.ro/formular.php

Metoda GET permite transmiterea unui volum limitat de informatii.
Oricare din cele doua va transmite cu succes datele formularului.

Receptionarea datelor de la un formular in PHP

Dupa cum am zis mai sus,
<form action="primesc_datele.php" method="post">
datele sunt trimise in fisierul primesc_datele.php prin metoda POST.
Aceasta pagina va primi: title, nume, prenume, email, domneiul, comentariu si fisierul atasat.
Pagina primesc_datele.php poate arata cam asa:



<html>
<body>

<?php
Multumim $title $nume $prenume pentru interesul aratat sitului nostru.
?>

</body>
</html>

Toate variabilele descrise mai sus sunt salvate in baza de date, dar aceasta este un curs separat, MYSQL.





Register_globals
Una din modificarile majore ale limbajului PHP. Incepand de la versiunea 4.2 autorii au decis sa modifice una dintre cele mai importante caracteristici ale limbajului, denumita register_globals.
Daca aceasta caracteristica este activata, datele sin formular sunt stocate in mod automat in variabile cu nume simple, precum $nume sau $email. Cu alte cuvinte, datele din formular sunt inregistrate sub forma unei variabile globale in cadrul scriptului. Daca register_globals este dezactivata acestor variabile nu li se atribuie in mod automat valorile din formular si, ca atare, raman vide. Va trebui ca in loc de $variabila sa scrieti $_POST[‘var’].
Cauta