CompZone.Org :: Artykuły :: PHP
Która technologia najbardziej Cię interesuje?
PHP
ASP
AJAX
SQL
JavaScript
Inna
Sonda Wyniki

Add to Google

[CURL]Przesylanie zmiennych metodą POST

Istnieje kilka metod przesłania zmiennych metodą post używając PHP. Wybrałem tu jedną z prostszych i wygodniejszych metod. Użyje biblioteki CURL, aby nawiązać połączenie z serwerem i wysłać odpowiednie nagłówki i dane.

Co bedzie robil nasz skrypt. Po prostu, będzie łączył się z serwerem i skryptem testującym, prześle dane POST, które następnie zostaną wyświetlone na stronie. Poniżej przedstawiam skrypt testujący.

 <?php
foreach($_POST as $key=>$val)echo "<b>$key: </b> $val<br />";
?>

Co to jest CURL?

CURL jest to biblioteka, która umożliwa łączenie się z serwerami np. HTTP i FTP. Dzięki temu, że PHP zawiera odpowiedni interfejs do łączenia się z tą biblioteką, możemy wykorzystywać swobodnie jej możliwości. Jak za tem zacząć?

PHP i cUrl

Większość czynności związane z wykorzystaniem biblioteki curl rozpoczynamy od wywołania funkcji curl_init. Funkcja ta zwraca typ resource - identyfikator połączenia. Całość zamkniemy używając curl_close. W naszym przykładnie wykorzystamy jeszcze tylko dwie inne funkcje: curl_setopt do ustalernia opcji połączenia oraz cur_exec do połączenia. Zaczynamy od takigeo zatem kodu:

 <?php
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'http://www.compzone.org/skrypty/test_post.php');
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($c);
curl_close($c);
?>

ak widać w pierwszej wywołaniu funkcji curl_setopt zmieniamy adres url. W drugim ustalamy, że strona nie ma zostać wyświetlona po wywołaniu curl_exec, tylko ma zostać zwrucona do zmiennej ($page).

Jak zatem przekazać dane POST za pomocą cURL? Najpier powinniśmy za pomocą curl_setopt wsakzac, że będziemy przesyłać, a potem wskażemy te dane.

 <?php
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'http://www.compzone.org/skrypty/test_post.php');
curl_setopt($c, CURLOPT_POST, 1);//przesylamy metodą post
curl_setopt($c, CURLOPT_POSTFIELDS, 'name=Kodie&position=Head%20developer'); //dane do wyslania
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($c);
curl_close($c);
echo 'Wynik: <br>'.$page;
?>

Dane przesylane są w takim formacie nazwa_pola=wartosc i rozdzielane są znakiem &

Zakończenie

Mam nadzieje, iż ten arykuł przyda się wielu ludziom i wyjaśni kilka kwestii.

Kodie @ 11-07-2006 23:25
Brak komentarzy...
Copyright © 2005-2006 Compzone.Org. Kopiowanie i wykorzystywanie materiałów zawartych na tej stronie bez zgody autora zabronione!