Trimite variabile POST cu PHP

Share on:

Trimiterea variabilelor GET este simpla, doar pui variabila in coada paginii ex: www.domeniu.ro?foo=bar. Dar cand vine vorba de variabile de tip POST treburile nu mai sunt usoare.

Din fericire PHP are o solutie pentru cam tot ce este nevoie, in acest caz cURL.

Problema: am nevoie sa trimit niste variabile POST catre un formular undeva pe net alaturi de un fisier, apoi trebuie sa prelucrez raspunsul.

Solutie:

  1. avem nevoie sa ne asiguram ca extensia cURL este instalata, daca nu este instalata trebuie sa o instalam (mai multe detalii in manual).

  2. trebuie sa stabilim ce variabile trebuie sa trimitem, sa luam ca exemplu variabilele “fisier” si “test”.

  3. sa inceapa treaba:

 1//calea catre fisier
 2$file = "c:\htdocs\www\fisier.jpg"; 
 3
 4// variabilele care le vom trimite
 5$data = array("fisier" => "@$file",
 6	      "test"=>"valoare");
 7
 8// se deschide o noua sesiune cURL
 9$c = curl_init();
10
11// destinatia unde este prelucrat formularul
12curl_setopt($c, CURLOPT_URL, 'http://www.domeniu.ro/fisier-prelucrare.php');
13
14// metoda de trimitere a datelor
15curl_setopt($c, CURLOPT_POST, true);
16
17// datele de tip POST care se vor trimite
18curl_setopt($c, CURLOPT_POSTFIELDS, $data);
19
20// setare pentru ca rezultatul trimiterii sa fie intors intr-o variabila
21curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
22
23// aici se trimit efectiv datele
24$rezultat = curl_exec ($c);
25
26// se inchide sesiunea cURL
27curl_close ($c); 
28
29// rezultatul trimiterii (ce va afisa pagina respectiva) se afisaza pe ecran
30echo $rezultat;

La final se va afisa rezultatul transmis de pagina spre care au fost trimis datele.

Asta e tot, simplu nu?