Nessun problema allora il tuo form deve puntare un tuo personale script .php.

Nello script php puoi eseguire tutti i controlli che preferisci prima di spedire i dati al server esterno.

Poi impoti le opzioni e quindi avvi la chiamata curl .

il flow :

form --[request+postdata]-->tuo server+tuoscript.php->gestione dati->avvio chiamata curl->[request+postdata]-->server esterno ->[response]-->tuo server gestisci response -> termina tuoscript.php

il tuo form nel www.tuosito.com, il tuoscript lo chiamiamo gestoreform.php

codice:
<form name="form2" id="form2" method="post" action="/actions/gestoreform.php">

dati vari

</form>
il file gestoreform.php

Codice PHP:

// inizializzo struttura dati
$data = array();


// Eventuale layer di controllo per gestire i dati in POST

// alla fine $data conterrà i dati correttamente formattati da spedire al server esterno

// Una versione di test
$data $_POST;


// Inizializzo l'handler curl
$chcurl_init();

// Configuro i paramentri e i dati per la request da eseguire
// Posso passare la configurazione anche da array ... non serve impostarle 1 alla volta
curl_setopt_array$ch , array(
  
CURLOPT_URL => "http://www.target.com" ,
  
CURLOPT_FOLLOWLOCATION => true ,
  
CURLOPT_POST => true,  // qui avevo sbagliato io scusa ora e' corretto
  
CURLOPT_POSTFIELDS => $data  ,// infatti i dati in post vanno messi qui
  
CURLOPT_RETURNTRANSFER => true 

) ); 

// eseguo la request(connessione->invio dati->interecetta risposta)
$ris curl_exec($ch);

// Chiudo la connessione
curl_close($ch);

// Stampo il risultato
var_dump($ris); 

$ris contiene la risposta del server che per ora devi vedere e successivamente analizzare gestire per renderla trasparente all'utente( l'utente non deve vedere nulla di quel dato se non quello che vuoi tu)