   Transmiterea de date pe Internet via http
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  Dupa cum am vazut la cursul de HTML, o pagina web poate contzine form-uri - elemente
care permit introducerea de date (text, radio buttons, check boxes, liste, ...).

  Aceste date pot fi trimise de la utilizator catre server-ul pe care rezida pagina, printr-una
din metodele GET shi POST.

  Metoda GET transmite datele intr-un mod vizibil utilizatorului, shi anume adaugindu-le
dupa link-ul catre pagina. Metoda POST le transmite intr-un mod invizibil.
-----

  Pentru a recuperea (retrieve) aceste date, pagina care contzine form-ul trebuie ca, la 
actzionarea butonului de submit (i.e. la trimiterea datelor) acestea sa se duca la o pagina
tzinta. 
  In PHP, pagina tzinta poate sa recpuereze aceste date folosind un shir predefinit, shi anume
$_REQUEST['nume_variabila'], unde 'nume_variabila' reprezinta numele pe care-l are elementul
input in form.

 De ex, daca avem
   <input type="text" name="tb"></td></tr>

"tb" identifica numele elementului "text", iar in php-ul care prelucreaza date, pentru a 
prelua valoarea acestei variabile oflosim $_REQUEST['tb']


  Ex: pagina apl01.htm va contzine un form cu:
* un textbox
* un checkbox
* un set de radiobuttons
* o lista normala
* o lista de tipul drop-down

  pagina apl02.php va primi aceste date shi le va afisha valorile pe ecran.	

-----
  Daca folosim un cimp de tip checkbox intr-un form, variabila asociata acestuia
reactzioneaza astfel:
  * daca checkbox-ul este selectat, atunci variabila va primi valoarea 'on'
  * daca NU este selectat, variabila respectiva NICI MACAR NU SE VA CREA
      Acest lucru produce, implicit, un mesaj de warning in modulul php, la intilnirea instructziunii
      $_REQUEST['cb'] unde cb este variabila din form care lipeshte (nu are valoare)
    pentru evitarea acestui lucru, se va pune un @ in fatza lui $_REQUEST, ca in apl02.php
   (deci  
      $variab_locala=@$_REQUEST['variabila_din_form'];
   )
-----
  Cimpurile de tip radio-button
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - cind le definim acestea primesc un nume shi-o value
    Numele le face sa apartzina aceluiashi grup, pe de-o parte, shi pe de alta parte, ne da variabila pe
    care-o folosim la $_REQUEST
 - stringul de la value ne da valoarea pe care-o recuperam prin $_REQUEST
------
   Cimpurile de tip lista
   ~~~~~~~~~~~~~~~~~~~~~~

 - cind le definim, ele primes o valoare in cimpul name al lui <select ....>
 - valorile le primesc la fiecare definire a unui "option" - poate fi definit explicit prin 
         <option value=....> 
   sau este luat implicit textul din optziune, in cazul in care value NU este prezent.
Ex:
  <select name="cici">
     <option>ana
     <option>mere
  </select>

-> $_REQUEST['cici'] va avea ca valori ana sau mere.
   pe cind o definitzie de forma
  <select name="cici">
     <option value="prima">ana
     <option value="adoua">mere
  </select>

  va avea ca valori prima sau adoua.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Liste multiple
     ~~~~~~~~~~~~~~

  Sunt liste care permit selectarea simultana a mai multor valori. Selectarea multipla se face tzinind CTRL sau 
shift in timpul clickairii.

  Ele se definesc analog celor normale, doar ca, tagului select ii mai adaugam optziunea multiple.
  Pentru a putea obtzine rezultatul selectziei (elementele selectate) in PHP, listei trebuie sa-i asociem o variabila
de tip shir. 
  Pentru asta, la name variabila trebuie data cu []
Ex:
   <select name="lb[]" multiple>
        <option value="eng">Engleza
        <option value="fr">Franceza
        <option value="it">Italiana
        <option value="germ">Germana
   </select>

  in PHP vom primi un array (shir) care are exact atitea componente cite elemente am selectat in lista,
componentele fiind indiciate de la 0, valorile fiind cele din value=...

EX: apl03.htm
---------------------------------------------------------------------
  Aplicatzie
  ~~~~~~~~~~

  Sa se scrie un form ce trimite catre un php o valoare. Php-ul testeaza daca valoarea respectiva este numar intreg.
In caz afirmativ testeaza daca acest numar este sau nu prim. In caz ca nu s-a introdus un numar, utilizatorul
va fi informat despre acest lucru printr-un mesaj.

(apl05.htm)
---------------------------------------------------------------------
   Pagini cu auto-legatura
   ~~~~~~~~~~~~~~~~~~~~~~~

  Putem crea pagini care contzin form-uri, a caror actziune se rasfringe asupra aceleiashi pagini.
  Pentru a diferentzia primul apel (cerere) de celelalte, putem folosi variabile neexistente (sau inca
necompletate) in form-uri, de exemplu variabile de tip input type="hidden"
  Ex:
    apl07.php