Brian Schroeter
Brian Schroeter

Reputation: 1633

CURL - No response and no error

I'm hoping someone could help me as I'm getting no response, no error, and no indication of why my CURL is not working here. I've searched around and added a clause to ignore the SSL (SSLVerify is set to false) and tried numerous ways to get a response.

May someone please point me in the right direction?

Thanks!

<?php
function sendContactInfo() {

//Process a new form submission in HubSpot in order to create a new Contact.

$hubspotutk = $_COOKIE['hubspotutk'];  //grab the cookie from the visitors browser.
$ip_addr = $_SERVER['REMOTE_ADDR'];  //IP address too.
$hs_context = array(
        'hutk' => $hubspotutk,
        'ipAddress' => $ip_addr,
        'pageUrl' => 'https://www.myfoodstorage.com/onestepcheckout/',
        'pageTitle' => 'MyFoodStorage.com Cart Checkout'
    );
$hs_context_json = json_encode($hs_context);

//Need to populate these varilables with values from the form.
$str_post = "firstname=" . urlencode($firstname)
        . "&lastname=" . urlencode($lastname)
        . "&email=" . urlencode($email)
        . "&phone=" . urlencode($telephone)
        . "&address=" . urlencode($street)
        . "&city=" . urlencode($city)
        . "&state=" . urlencode($region)
        . "&country=" . urlencode($country)
        . "&hs_context=" . urlencode($hs_context_json);  //Leave this one be :)

 //replace the values in this URL with your portal ID and your form GUID
$endpoint = 'https://forms.hubspot.com/uploads/form/v2/234423/4a282b6b-2ae2-4908-bc82-b89874f4e8ed';

$ch = @curl_init();
@curl_setopt($ch, CURLOPT_POST, true);
@curl_setopt($ch, CURLOPT_POSTFIELDS, $str_post);
@curl_setopt($ch, CURLOPT_URL, $endpoint);
@curl_setopt($ch, CURLOPT_HTTPHEADER, array('application/x-www-form-urlencoded'));
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = @curl_exec($ch);
$info = @curl_getinfo($ch);
@curl_close($ch);
}

echo sendContactInfo();
echo $response;
print_r($info);
?>

Upvotes: 0

Views: 7179

Answers (2)

Eugen
Eugen

Reputation: 1386

1.you can't print variable value defined inside a function outside of function, like this:

function sendContactInfo() {

 $response = @curl_exec($ch);

 $info = @curl_getinfo($ch);

}

echo $response;

print_r($info);

but you can print value so:

function sendContactInfo() {

 $response = @curl_exec($ch);

 $info = @curl_getinfo($ch);

 echo $response;

 print_r($info);

}

sendContactInfo();

2.when you want to run function and get after value, use "return", like this:

function sendContactInfo() {

 $response = @curl_exec($ch);

 $info = @curl_getinfo($ch);

 return $response;

 //or return $info;, when you want to get array values from @curl_getinfo

}

print_r(sendContactInfo());

Upvotes: 1

supajason
supajason

Reputation: 670

sendContactInfo is a function but its not being used like one.

You can't access variables that are used inside the function. Also it needs to return something

Change:

$response = @curl_exec($ch);

to

return @curl_exec($ch);

Upvotes: 0

Related Questions