Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cURL] Przesyłanie danych metodą POST.
Forum PHP.pl > Forum > Przedszkole
carck3r
Witam
Mam dwa pliki:
1. index.php, w którym jest taki kod:
  1. <?php
  2.  
  3. $curl = curl_init();
  4.  
  5.     curl_setopt($curl, CURLOPT_URL, 'http://localhost/posttest.php');
  6.     curl_setopt($curl, CURLOPT_POST, 1);
  7.     curl_setopt($curl, CURLOPT_POSTFIELDS, 'login=carck3r&password=ultratajne');
  8.  
  9. curl_exec($curl);
  10. curl_close($curl);
  11.  
  12. ?>

2. posttest.php, w którym mam taki kod:
  1. <?php
  2.  
  3. print_r($_POST);
  4.  
  5. ?>


Po uruchomieniu pliku http://localhost/posttest.php ukazuje się coś takiego:
Kod
Array ( )


A powinno:
Kod
Array (     [login] => carck3r     [password] => ultratajne )
I to pojawia się w index.php, a powinno w posttest.php. Dlaczego tak się dzieje? Jaki popełniłem błąd?
Z góry dzięki za odpowiedzi.
nospor
Cytat
Po uruchomieniu pliku http://localhost/posttest.php ukazuje się coś takiego:

Gdy wywolujesz z palucha posttest.php to posta mu nie wysylasz, wiec dostajesz puste array()

Cytat
I to pojawia się w index.php, a powinno w posttest.php

I pojawia sie dobrze. Przeciez w index.php przesylasz do posttest.php dane postem i w index.php wyswietlasz to, co zwrocilo posttest.php. Wszystko jest tak jak powinno byc smile.gif
carck3r
Mam następny problem. Mam kod:
  1. <?php
  2.    $curl = curl_init();
  3.    curl_setopt ($curl, CURLOPT_URL, "http://www.php.net");
  4.    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5.    curl_setopt($curl, CURLOPT_VERBOSE, 1);
  6.  
  7.    curl_exec ($curl);
  8.    curl_close ($curl);
  9. ?>


Powinien wyświetlić "the debugging information". U mnie nic nie ma. O co chodzi biggrin.gif?
nospor
Cytat
Powinien wyświetlić "the debugging information".
Skąd ten szalony pomysl?

Jak chcesz wyswietlic zawartosc strony, to przy opcji CURLOPT_RETURNTRANSFER musisz zrobic tak:
  1. <?php
  2. $curl = curl_init();
  3.   curl_setopt ($curl, CURLOPT_URL, "http://www.php.net");
  4.   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5.   curl_setopt($curl, CURLOPT_VERBOSE, 1);
  6.  
  7.   $zm = curl_exec ($curl);
  8.   echo $zm;
  9.   curl_close ($curl);
  10. ?>
carck3r
Tak myślałem, ale na stronie:
http://www.hudzilla.org/php/15_10_4.php
NIC takiego nie ma.
Cytat
Note that CURLOPT_RETURNTRANSFER was used but the output from curl_exec() was ignored - this is because the extra data provided by CURLOPT_VERBOSE is actually sent straight to the browser irrespective of CURLOPT_RETURNTRANSFER, so by ignoring the output of curl_exec() the script will only print out the debugging information.
nospor
http://us3.php.net/curl_setopt
Cytat
CURLOPT_VERBOSE TRUE to output verbose information. Writes output to STDERR, or the file specified using CURLOPT_STDERR.


Jak odpalisz ten skrypt jako cgi to zobaczysz swoje "the debugging information". winksmiley.jpg
Skowronek
hm..

kubusiu puchatku
czy znasz moze taka swietna strone jak podales, tylko ze w języku polskim ?
bylbym bardzo wdzieczny
erix
Najwartościowsze materiały znajdziesz WYŁĄCZNIE po angielsku. Nie rozumiesz tego, idź składać modele z papieru.

Bolesna, ale prawda. Masz przecież tyle słowników, specjalistycznych również, do tego Google Translate.
Skowronek
rozumiem tylko mało "płynnie" nie lubię się zastanwiac nad tym co czytam zbyt dlugo
erix
Wybacz, ale programowanie również wymaga cierpliwości, nie tylko czytanie dokumentacji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.