POST verilerini PHP'deki bir URL'ye (form olmadan) nasıl gönderebilirim?
Bir formu doldurmak ve göndermek için bir değişken göndermek için kullanacağım.
POST verilerini PHP'deki bir URL'ye (form olmadan) nasıl gönderebilirim?
Bir formu doldurmak ve göndermek için bir değişken göndermek için kullanacağım.
Yanıtlar:
PHP kodunun kendisinden bir URL'ye veri göndermek istiyorsanız (html formu kullanmadan) curl ile yapılabilir. Bunun gibi görünecek:
$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 );
Bu, gönderi değişkenlerini belirtilen url'ye gönderir ve sayfanın döndürdüğü şey $ yanıtta olur.
CURLOPT_FOLLOWLOCATION
, CURLOPT_HEADER
ve CURLOPT_RETURNTRANSFER
bunu? Tam olarak anlamadığım kodu kopyalamamayı tercih ediyorum.
$url
sahip olduğunu açıklaması gerekiyor $
mu? Çizgiyi nereye çekiyorsun? "... daha fazla soru almamak" kendi kendine öğrenmede, özellikle programlamada başarılı olacak birinin tutumu değildir.
php5'te kullanabileceğiniz cURL'siz
$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);
Sorunuz çok açık değil, ancak POST verilerini bir form kullanmadan bir url'ye göndermek istiyorsanız, fsockopen veya curl kullanabilirsiniz.