PHP si MySql (Programator Web 2)

DOCUMENTATIE CURS

Cereri de tip GET

In momentul cand navigam pur si simplu la o adresa, realizam o cerere de tip GET catre server. Atunci cand scriem in browser www.invata-online.ro/index.php , serverul primeste de fapt o cerere HTTP de tip GET catre resursa /index.php.
Definitie
Printr-o cerere de tip GET se pot trimite informatii catre serverul web prin asa-numitul query string, un sir ce se ataseaza la sfarsitul url-ului dupa caracterul "?". O cerere de tip GET ce are query string (deci trimite informatie aditionala catre server) are forma: http://www.example.com?variabila1=valoare1&variabila2;=valoare2&variabila3;=valoare3
Query string-ul este format din perechi variabila=valoare separate prin &.

De exemplu, o cautare pe google dupa cuvantul php are ca rezultat directionarea catre url-ul:
http://www.google.ro/search?hl=en&q;=php&btnG;=Search

Accesarea unui url de tip GET de catre utilizator se poate realiza prin urmatoarele modalitati:
  • Utilizatorul da click pe un link dintr-un site, iar acel link trimite catre un url de tip get (sau are link-ul salvat in Bookmarks/Favorites)
  • Utilizatorul completeaza un formular html care are method="get" si cand apasa butonul "Submit" browserul face o cerere de tip GET catre server
Important
Indiferent cum se realizeaza o cerere de tip GET, rezultatul final este ca informatiile de tip variabila=valoare din query string sunt incarcate in tabloul $_GET disponibil programatorului PHP.

Codul php pentru fisierul http://www.invata-online.ro/courses/web2/test-get.php este urmatorul:

1
2
3
<?php
print_r($_GET);
?>


Incercati orice query string, la sfarsitul url-ului de mai sus. Exemplu: http://www.invata-online.ro/courses/web2/test-get.php?nume=ion&varsta;=23

Faceti acest test si pe calculatorul local.

A doua modalitate prin care browserul trimite o cerere de tip get catre server, este atunci cand utilizatorul completeaza un formular cu method="get"
Cod HTML - formular.html
<form method="get" action="test-get.php">
Prenume <input type="text" name="prenume" value="" /> <br />
Varsta <input type="text" name="varsta" value="" /> <br />
<br /><br />
<input type="submit" name="buton" value="Trimite" />
</form>

In momentul cand utilizatorul apasa butonul "Trimite", browserul realizeaza o noua cerere de tip GET catre fisierul descris in atributul action al formularului (test-get.php) in acest caz.
Nota
Pentru a testa, realizati in folderul de lucru (pe calculatorul local) doua fisiere: unul numit formular.html , avand codul html de mai sus (formularul), iar celalalt test-get.php avand acelasi cod cu fisierul test-get.php de mai sus


Important
Prin atributele name ale unui formular se specifica de fapt ceea ce vor deveni variabilele de tip GET (sau POST daca formularul se trimite prin POST). Acestea vor deveni apoi chei ale array-ului superglobal $_GET sau $_POST. Astfel ca, in formularul de mai sus, daca se completeaza de exemplu "ion" si "23", si apasam pe "Trimite" se trimite cererea de tip GET: test-get.php?prenume=ion&varsta;=23 . Apoi, tabloul $_GET il putem vizualiza cu print_r($_GET)

© 2006-2012 Crystal Mind Academy. All rights reserved