Metodele GET si POST

Stefanescu Mihai 2 years ago PHP

In PHP exista 2 moduri de a transmite informatii intre browser si server.

  • Metoda GET
  • Metoda POST

Metoda GET

Metoda get trimite informatiile catre server codate in URL, separate de url prin semnul ?.

http://invata-programare.ro/index.php?nume1=valoare1&nume2=valoare2&nume3=valoare3

Informatiile trimise cu ajutorul acestei metode se pot recupera cu variabila globala $_GET (care este un array asociativ ce contine toate informatiile trimise prin GET)

  • Metoda GET produce un sir de caractere lung ce apare in logurile serverului si in casuta de adrese a browserului.
  • Metoda GET este restrictionata la 1024 caractere.
  • Nu folositi metoda GET pentru parole sau alte informatii importante.
  • Metoda GET nu poate trimite date binare (ex: imagini, documente, etc) catre server.
<?php
  if( $_GET["nume"] || $_GET["varsta"] )
  {
     echo "Salut ". $_GET['nume']. "<br />";
     echo "Ai ". $_GET['varsta']. " ani.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="GET">
  Nume: <input type="text" name="nume" />
  Varsta: <input type="text" name="varsta" />
  <input type="submit" />
  </form>
</body>
</html>

Metoda POST

Metoda POST transmite informatia prin intermediul headerelor HTTP. Informatia este encodata ca si in cazul metodei GET si pusa intr-un array asociativ numit $_POST.

Informatiile transmise prin metoda POST merg prin geaderele HTTP, deci securitatea informatiei depinde  de securitatea protocolului (Se poate folosi Secure HTTP pentru asigurarea securitatii).

  • In cazul metodei POST nu exista restrictii de marime
  • Metoda POST poate transmite informatii in ASCII cat si in binar
<?php
  if( $_POST["nume"] || $_POST["varsta"] )
  {
     echo "Salut ". $_POST['nume']. "<br />";
     echo "Ai ". $_POST['varsta']. " ani.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">
  Nume: <input type="text" name="nume" />
  Varsta: <input type="text" name="varsta" />
  <input type="submit" />
  </form>
</body>
</html>

Variabila $_REQUEST

Variabila $_REQUEST contine informatiile din ambele metode explicate mai ($_GET, $_POST si $_COOKIE. Discutam despre $_COOKIE la lectia despre sesiuni si cookies).

<?php
  if( $_REQUEST["nume"] || $_REQUEST["varsta"] )
  {
     echo "Salut ". $_REQUEST['nume']. "<br />";
     echo "Ai ". $_REQUEST['varsta']. " ani.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">
  Nume: <input type="text" name="nume" />
  Varsta: <input type="text" name="varsta" />
  <input type="submit" />
  </form>
</body>
</html>

 

Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.


Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.
Login Register

🔖 Bookmarks
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord
Back to top
Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.