Если на сервере не установлена библиотека cURL, то можно воспользоваться функцией file_get_contents() для отправки POST запроса. Для этого надо передать ей третий параметр, который будет содержать POST переменные.
Отправка POST запроса через PHP без cURL:
$data = array('KEY1' => 'VAL1', 'KEY2' => 'VAL2');
$options = array('http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data))
);
$res = file_get_contents( 'https://...', false, stream_context_create($options));
if ($res === FALSE) {/* Обрабатываем ошибки */
}else{
/* Обрабатываем результат */
}
$data - массив с переменными для отправки через POST запрос.
'https://...' - адрес, куда передаётся запрос. Обратите внимание, что в $opstions стоит ключ http, даже если отправка идёт на httpS.
Ошибки
Будьте осторожнее с запросами к шифрованным сайтам. Функция file_get_contents может устроить переполнение памяти сервера. Это произойдёт, если сертификат сервера, куда отправляются данные, будет невалидным. Описывал способ решения этой проблемы в статье "ssl3_get_server_certificate certificate verify failed"