Inviare dati JSON con PHP e Guzzle

Mattepuffo's logo
Inviare dati JSON con PHP e Guzzle

Inviare dati JSON con PHP e Guzzle

Guzzle è una libreria che ci consente di creare un client HTTP con PHP.

L'abbiamo già vista varie volte, ed oggi la vediamo per l'invio dei dati JSON in POST ad una API.

Non vi posto tutto il form perchè è la solita solfa.

Vi posto solo il codice che il form invia dopo la validazione:

include_once './libs/guzzle/autoload.php';

use GuzzleHttp\Client;

if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_invia'])) {
	$data = array(
		"email" => trim(strtolower($_POST['email'])),
		"password" => trim($_POST['password']),
		"nome" => $nome,
		"indirizzo" => trim($_POST['indirizzo']),
		"citta" => ucfirst(strtolower(trim($_POST['citta']))),
		"cap" => trim($_POST['cap']),
		"provincia" => trim(strtoupper($_POST['provincia'])),
		"nazione" => ucfirst(strtolower(trim($_POST['nazione']))),
		"iva" => trim($_POST['piva']),
		"cf" => trim($_POST['cf']),
		"sdi" => trim($_POST['sdi']),
		"pec" => trim($_POST['pec']),
		"telefono" => trim($_POST['telefono']),
		"tipo" => $tp,
		"sito" => trim($_POST['sito'])
	);

	$json = json_encode($data);

	$headers['Content-Type'] = 'application/json';
	$client = new Client(['base_uri' => 'https://www.sito.com/api/, 'timeout' => 5.0]);
	$response = $client->request(
		'POST',
		'add.php',
		array('headers' => $headers, 'body' => $json)
	);

	$res = json_decode($response->getBody(), true);
	echo $res;
}

Enjoy!


Condividi

Commentami!