Claudiu Persoiu

Blog-ul lui Claudiu Persoiu


Archive for 2 November 2008

Trimite variabile POST cu PHP

without comments

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:

//calea catre fisier
$file = "c:\htdocs\www\fisier.jpg"; 

// variabilele care le vom trimite
$data = array("fisier" => "@$file",
	      "test"=>"valoare");

// se deschide o noua sesiune cURL
$c = curl_init();

// destinatia unde este prelucrat formularul
curl_setopt($c, CURLOPT_URL, 'http://www.domeniu.ro/fisier-prelucrare.php');

// metoda de trimitere a datelor
curl_setopt($c, CURLOPT_POST, true);

// datele de tip POST care se vor trimite
curl_setopt($c, CURLOPT_POSTFIELDS, $data);

// setare pentru ca rezultatul trimiterii sa fie intors intr-o variabila
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);

// aici se trimit efectiv datele
$rezultat = curl_exec ($c);

// se inchide sesiunea cURL
curl_close ($c); 

// rezultatul trimiterii (ce va afisa pagina respectiva) se afisaza pe ecran
echo $rezultat;

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

Asta e tot, simplu nu?

Written by Claudiu Persoiu

2 November 2008 at 4:58 PM

Posted in PHP

Tagged with ,