Bagaimana cara mengirim data POST ke URL dalam PHP (tanpa formulir)?
Saya akan menggunakannya untuk mengirimkan variabel untuk melengkapi dan mengirimkan formulir.
Bagaimana cara mengirim data POST ke URL dalam PHP (tanpa formulir)?
Saya akan menggunakannya untuk mengirimkan variabel untuk melengkapi dan mengirimkan formulir.
Jawaban:
Jika Anda ingin mengirim data ke URL dari kode PHP itu sendiri (tanpa menggunakan bentuk html) itu dapat dilakukan dengan curl. Ini akan terlihat seperti ini:
$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 );
Ini akan mengirim variabel posting ke url yang ditentukan, dan apa yang dikembalikan halaman dalam $ response.
CURLOPT_FOLLOWLOCATION
, CURLOPT_HEADER
dan CURLOPT_RETURNTRANSFER
lakukan? Saya memilih untuk tidak menyalin kode yang saya tidak sepenuhnya mengerti.
$url
memiliki $
karena di php itulah cara Anda menunjukkan variabel? Di mana Anda menarik garis? "... tidak mendapatkan lebih banyak pertanyaan" bukanlah sikap seseorang yang akan berhasil dalam belajar mandiri, terutama pemrograman.
cURL-less dapat Anda gunakan di 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);
Pertanyaan Anda tidak terlalu jelas, tetapi jika Anda ingin mengirim data POST ke url tanpa menggunakan formulir, Anda dapat menggunakan fsockopen atau curl.