Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CURL] Przesylanie zmiennych metodą POST
Forum PHP.pl > Forum > Przedszkole
ignas_yo
Witam

Mam taki oto skrypcik mający na celu przesyłać zmienne metodą post do skryptu:
Kod
<?php
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'adresdoskryptuodksiegigosci.php');
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, 'nick=nameusera&tresc=spam');
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($c);
curl_close($c);
echo 'Wynik:
'.$page;
?>

Jak przerobić ten skrypcik aby wysyłane dane pobierał z formularza?
Napisałem prościutki formularzyk, i w miejsce nameusera i spam wpisałem $_POST[nick] i $_POST[tresc] i nie działa...

Jeżeli to jakaś banalna sprawa to sorry, ale dopiero się uczę.
Z góry dzięki za pomoc
dadexix
  1. <?php
  2. curl_setopt($c, CURLOPT_POSTFIELDS, 'nick='.$_post['nick']."&tresc=".$_post['tresc']."spam");
  3. ?>


tak dawałeś? czy $_POST['nick'] dawałeś wewnątrz cudzysłowia?
ignas_yo
Tak zrobiłem
Kod
<?php
curl_setopt($c, CURLOPT_POSTFIELDS, 'nick=$_POST[nick]&tresc=$_POST[tresc]');
?>

Zdaje sobię sprawę, ze to źle, ale dopiero się uczę ; )

Ten "spam" w Twoim skrypcie jest zbędny. To był tylko przykład wartości zmiennej. Możliwe że to co napisałeś działa - nie wiem, bo narazie nie mam dostępu do swojego komputera. Za 30min to przetestuje i odpiszę, jednak jeśli zobaczysz ten post to proszę o poprawienie ; ) Z góry dziękuję
webdice
Zwróć uwagę na apostrofy w przykładzie @dadexix. Dodatkowo musisz podać pełną ścieżkę (łącznie z hostem) do pliku.
ignas_yo
Wybaczcie, ale moje umiejętności nie sięgają tak daleko i za bardzo nie wiem o co chodzi. To co napisał dadexix nie działa. Moglibyście napisać to jeszcze raz, proszę? Z góry dzięki
webdice
  1. <?php
  2.  
  3. $var1 = 'val1';
  4. $var2 = 'val2';
  5.  
  6. $cURL = curl_init ();
  7.  
  8. curl_setopt ($cURL, CURLOPT_URL, 'http://localhost/file.php');
  9. curl_setopt ($cURL, CURLOPT_POST, 1);
  10. curl_setopt ($cURL, CURLOPT_POSTFIELDS, 'var1=' . $var1 . '&var2=' . $var2);
  11. curl_setopt ($cURL, CURLOPT_RETURNTRANSFER, 1);
  12.  
  13. print curl_exec ($cURL);
  14.  
  15. curl_close ($cURL);
  16.  
  17. ?>


Przykładowo jeśli w pliku file.php będziesz miał:

  1. <?php
  2. print_r ($_POST);
  3. ?>


wyświetli Ci się:

Kod
Array ( [var1] => val1 [var2] => val2 )


a jeśli w będzie tak jak Ty napisałeś, czyli:

  1. <?php
  2. curl_setopt ($cURL, CURLOPT_POSTFIELDS, 'var1=$var1&var2=$var2');
  3. ?>


wyświetli Ci się:

Kod
Array ( [var1] => $var1 [var2] => $var2 )


Więc jak napisałem wyżej apostrofy mają duże znaczenie, ale o tym musisz sobie poczytać.
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.