Scurta recapitulare formulareFormularele sunt tratate in detaliu in cursul Programator Web 1, pentru ca sunt notiuni specifice html.
In acest capitol doar reamintesc cateva din elementele unui formular, si explic folosirea lor cu php.
Important Testeaza toate exemplele pe calculator, avand un fisier .html cu formularul, si un fisier .php cu codul in care se proceseaza cererea $_GET sau $_POST.
ATENTIE: ambele fisiere trebuie sa se afle sub Document Root (sau un alias), iar fisierul html nu trebuie deschis prin dublu click ci prin http://localhost/cale/catre/fisier.html
astfel incat si cererea catre fisierul .php sa fie trimisa prin http:// deci prin serverul web.
Important Cum spuneam, valoarea atributului name al unui element de formular, se transforma in parametru de tip GET sau POST, si devine apoi cheie pentru superglobalele $_GET sau $_POST.
De exemplu, daca am: <input name="prenume" value="" />, si transmit formularul prin GET, in scriptul .php ce primeste cererea o sa am in $_GET["prenume"] valoarea completata de utilizator in acest input. Apoi, o sa vreau sa scriu probabil $prenume = $_GET["prenume"] ca sa folosesc in continuare in script variabila $prenume. Desi pot sa dau alt nume variabilei, exemplu $pnume = $_GET["prenume"] de cele mai multe ori este bine sa folosesc acelasi nume cu cel al parametrului GET, ca sa fie mai simplu de tinut minte. Din acest motiv, valoarea atributului name al unui element din formular, trebuie sa nu contina spatii, sau caractere speciale, sa aiba o forma ce poate fi mai departe variabila in PHP. Elementele simple
Numesc elementele simple cele care nu reprezinta o selectie dintr-o lista de valori, si astfel sunt foarte clar preluate in PHP. Acestea sunt: input-ul text, input-ul password, textarea.
procesare1.php
sau, asa cum vom lucra mai des in practica, voi extrage in variabile simple fiecare element din $_POST: procesare2.php
Input radio
Dintr-un grup de butoane radio, utilizatorul nu poate alege decat o singura optiune. Dar, pentru acest lucru, butoanele radio din acelasi grup trebuie sa aiba aceeasi valoare pentru atributul name.
Rezultatul se poate vedea daca in procesare.php afisam $_POST cu print_r(). Input checkbox
Controalele de tip checkbox pot fi grupate pe grupuri, folosind acelasi name, insa aici utilizatorul are dreptul la selectarea mai multor optiuni. Astfel, folosind acelasi parametru se primesc mai multe valori.
Ca sa facem acest lucru posibil, si sa primim un array si nu o singura valoare in $_GET (sau $_POST) trebuie sa folosim in html o sintaxa speciala, si anume adaugarea parantezelor drepte [] dupa valoarea de la name. Aceasta sintaxa se va folosi si la tagul select cand se permit selectii multiple.
procesare.php
Select - o singura optiune
Daca nu avem atributul multiple intr-un tag select, nu se poate transmite decat o singura valoare, si atunci nu e necesara folosirea sintaxei [].
Select - selectie multipla
Similar cu input checkbox, folosesc sintaxa cu [] pentru ca se transmit mai multe valori prin acelasi parametru get (post).
Pentru procesare am aceleasi posibilitati ca la input checkbox. |