Treci la conținutul principal

PHP $_GET

$_GET este o variabilă superglobală PHP folosită pentru a colecta datele unui formular după trimiterea unui formular HTML cu method="get".

$_GET poate colecta și date trimise în URL.


PHP $_GET în prelucrarea formularelor

Pagina din exemplul de mai jos conține un formular cu un câmp de text și un buton de trimitere. Când apeși „Submit”, ce a scris utilizatorul este trimis către fișierul indicat în atributul action al formularului. Aici acel fișier este chiar pagina însăși, așa că același script afișează formularul și îl și prelucrează. După trimitere, valoarea scrisă poate fi citită din $_GET:

Colectarea datelor formularului cu $_GET

Citește cu $_GET ce a scris utilizatorul într-un câmp de intrare:

Prompt
Scrie un script PHP care afișează un formular HTML cu un câmp de text numit "name" și un buton de trimitere, folosind metoda GET. Când formularul este trimis, afișează "Salut" urmat de numele trimis.
Ieșire: script PHP

PHP $_GET în linkuri

Deoarece metoda GET trimite datele prin URL, poți folosi $_GET și pentru a colecta date din linkuri cu șiruri de interogare.

$_GET cu un link

O pagină care primește date dintr-un link cu șir de interogare:

Prompt
Scrie un script PHP care folosește $_GET pentru a colecta un parametru "subject" din șirul de interogare al URL-ului și afișează un mesaj care spune "Studiază" urmat de valoarea subiectului, apoi afișează și valoarea la URL-ul specificat test.php?subject=PHP.
Ieșire: script PHP

Când să folosim GET?

Datele trimise prin GET sunt vizibile în URL, așa că nu ar trebui să folosești niciodată GET pentru a trimite parole sau alte informații sensibile.

Totuși, deoarece datele sunt vizibile în URL, poți salva pagina ca semn de carte, ceea ce poate fi util în unele cazuri.

$_GET este cel mai potrivit pentru:

  • Formulare de căutare
  • Navigarea între pagini
  • Filtrarea rezultatelor
  • Orice date care nu sunt sensibile

Notă: GET are o limită pentru cantitatea de date care pot fi trimise (aproximativ 2048 de caractere).