Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP POST data without web form [duplicate]

Tags:

post

forms

php

web

Is there a way to send POST data without using a web form? I am working with a 3rd party payment processor and I have an option to manually submit payment but the data is required to be POST formatted.

I plan to run my script as CRON job and so as it is automated there is no user input via a web form submission.

Thank in advance.

like image 663
Alan A Avatar asked Oct 18 '13 16:10

Alan A


2 Answers

try CURL

http://php.net/manual/en/book.curl.php

//set POST variables
$url = 'http://domain.com/get-post.php';
$fields = array(
                        'lname' => urlencode($last_name),
                        'fname' => urlencode($first_name),
                        'title' => urlencode($title),
                        'company' => urlencode($institution),
                        'age' => urlencode($age),
                        'email' => urlencode($email),
                        'phone' => urlencode($phone)
                );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
like image 98
VancleiP Avatar answered Oct 16 '22 22:10

VancleiP


You can use the cURL extension, or even file_get_contents() with a custom context.

like image 38
Alix Axel Avatar answered Oct 16 '22 22:10

Alix Axel