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_HEADERve CURLOPT_RETURNTRANSFERbunu? Tam olarak anlamadığım kodu kopyalamamayı tercih ediyorum.
$urlsahip 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.