Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CURL] Przesylanie zmiennych metodą POST
ignas_yo
post 25.11.2007, 12:58:44
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
dadexix
post 25.11.2007, 13:11:21
Post #2





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


  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?


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
ignas_yo
post 25.11.2007, 13:26:47
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


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ę

Ten post edytował ignas_yo 25.11.2007, 13:29:23
Go to the top of the page
+Quote Post
webdice
post 25.11.2007, 14:02:27
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Zwróć uwagę na apostrofy w przykładzie @dadexix. Dodatkowo musisz podać pełną ścieżkę (łącznie z hostem) do pliku.

Ten post edytował webdicepl 25.11.2007, 14:02:46
Go to the top of the page
+Quote Post
ignas_yo
post 25.11.2007, 14:26:29
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
webdice
post 25.11.2007, 14:48:00
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  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ć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:16