Làm cách nào để gửi dữ liệu POST tới một URL trong PHP (không có biểu mẫu)?
Tôi sẽ sử dụng nó để gửi một biến để hoàn thành và gửi biểu mẫu.
Câu trả lời:
Nếu bạn đang tìm cách đăng dữ liệu lên URL từ chính mã PHP (mà không sử dụng biểu mẫu html) thì có thể thực hiện bằng curl. Nó sẽ trông giống thế này:
$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 );
Điều này sẽ gửi các biến bài đăng đến url được chỉ định và những gì trang trả về sẽ ở dạng $ response.
CURLOPT_FOLLOWLOCATION
, CURLOPT_HEADER
và CURLOPT_RETURNTRANSFER
làm gì? Tôi không thích sao chép mã mà tôi không hiểu đầy đủ.
$url
có một $
bởi vì trong php đó là cách bạn chỉ ra một biến? Bạn ve con đương nay ở đâu vậy? "... không nhận thêm câu hỏi" không phải là thái độ của một người sẽ thành công khi tự học, đặc biệt là lập trình.
cURL-less bạn có thể sử dụng trong 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);
Câu hỏi của bạn không đặc biệt rõ ràng, nhưng trong trường hợp bạn muốn gửi dữ liệu POST đến một url mà không sử dụng biểu mẫu, bạn có thể sử dụng fsockopen hoặc curl.