Jak mogę wysłać dane POST na adres URL w PHP (bez formularza)?
Użyję go do wysłania zmiennej do wypełnienia i przesłania formularza.
Jeśli chcesz wysłać dane do adresu URL z samego kodu PHP (bez użycia formularza HTML), możesz to zrobić za pomocą curl. Będzie to wyglądać tak:
$url = 'http://www.someurl.com';
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
Spowoduje to wysłanie zmiennych postu do określonego adresu URL, a to, co strona zwróci, będzie w $ response.
CURLOPT_FOLLOWLOCATION
,CURLOPT_HEADER
iCURLOPT_RETURNTRANSFER
zrobić? Wolę nie kopiować kodu, którego nie do końca rozumiem.$url
ma a,$
ponieważ w php tak wskazuje się zmienną? Gdzie wyznaczasz granicę? „… nie dostać więcej pytań” nie jest postawą kogoś, kto odniesie sukces w samodzielnej nauce, zwłaszcza w programowaniu.bez cURL, którego można używać w php5
$url = 'URL'; $data = array('field1' => 'value', 'field2' => 'value'); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); var_dump($result);
źródło
Twoje pytanie nie jest szczególnie jasne, ale jeśli chcesz wysłać dane POST na adres URL bez korzystania z formularza, możesz użyć fsockopen lub curl.
Oto całkiem niezły opis obu
źródło