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
$ch= curl_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)