Sample code for 30+ languages & platforms
PHP Extension

HTTP POST x-www-form-urlencoded

Demonstrates how to send a simple x-www-form-urlencoded POST.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

$http = new CkHttp();

$jsonStr = '{ some json ... }';

$req = new CkHttpRequest();
// This query parameter just happens to be named "json" and contains JSON text.
$req->AddParam('json',$jsonStr);

// We can optionally add more query parameters. 
$req->AddParam('abc','123');
$req->AddParam('xml','<abc>123</abc>');

// Note: Just because we passed a query param named "json" or "xml" means nothing special.  It's still just
// a name=value query parameter..

$req->put_HttpVerb('POST');
$req->put_ContentType('application/x-www-form-urlencoded');

$resp = new CkHttpResponse();
$success = $http->HttpReq('http://example.com/xyz/connect/report',$req,$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

if ($resp->get_StatusCode() != 200) {
    print 'Hey, I didn't receive the expected response status code!' . "\n";
    print 'status code = ' . $resp->get_StatusCode() . "\n";
}

// Could be error text if the status code wasn't what we expected, or could be the response
// body you're seeking..
$responseBody = $resp->bodyStr();
print $responseBody . "\n";

$fac = new CkFileAccess();
$filepath = 'some file path';
$success = $fac->WriteEntireTextFile($filepath,$responseBody,'utf-8',false);
if ($success != true) {
    print $fac->lastErrorText() . "\n";
}


?>