I need to send data from one form to two separate locations. I've done this before with a simple cURL script, but now in my testing I can't get it to actually post anything to my secondary source. I am using PAW to send over the POST, with the correct information. Below is my cURL script. I've been looking at this for way too long.
$url = 'https://vf267.infusionsoft.com/app/form/process/41f58953f72a770df094c4525be6fb6b';
$fields = array(
'inf_form_xid' => urlencode($_POST['inf_form_xid']),
'inf_form_name' => urlencode($_POST['inf_form_name']),
'infusionsoft_version' => urlencode($_POST['infusionsoft_version']),
'inf_field_Email' => urlencode($_POST['institution'])
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//execute post
$result = curl_exec($ch);
return $result;
//close connection
curl_close($ch);
I'm passing it these value/key pairs... which correlate to the Infusionsoft form I'm posting to
inf_form_xid=41f58953f72a770df094c4525be6fb6b
inf_form_name=tester
infusionsoft_version=1.50.0.37
inf_field_Email=tester@tester.com
/* manually setting the variables for testing */
$_POST['inf_form_xid'] = '41f58953f72a770df094c4525be6fb6b';
$_POST['inf_form_name'] = 'tester';
$_POST['infusionsoft_version'] = '1.50.0.37';
$_POST['institution'] = 'tester@tester.com';
$url = 'https://vf267.infusionsoft.com/app/form/process/41f58953f72a770df094c4525be6fb6b';
$fields = array(
'inf_form_xid' => $_POST['inf_form_xid'],
'inf_form_name' => $_POST['inf_form_name'],
'infusionsoft_version' => $_POST['infusionsoft_version'],
'inf_field_Email' => $_POST['institution']
);
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);/* set as true rather than a number */
/* use `http_build_query` to construct data to send */
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query( $fields ) );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
/* shows the success page by the looks of things - a graphic and a message saying "Thanks Friend! We will contact you shortly." */
print_r( $result );