0

応答もエラーも表示されず、CURLがここで機能しない理由がわからないため、誰かが私を助けてくれることを願っています。私は検索してSSLを無視する句を追加し(SSLVerifyはfalseに設定されています)、応答を取得するためのさまざまな方法を試しました。

誰かが私を正しい方向に向けてくれませんか?

ありがとう!

<?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);
?>
4

2 に答える 2

1

1.次のように、関数内で定義された変数値を関数外で出力することはできません。

function sendContactInfo() {

 $response = @curl_exec($ch);

 $info = @curl_getinfo($ch);

}

echo $response;

print_r($info);

しかし、あなたはそう値を印刷することができます:

function sendContactInfo() {

 $response = @curl_exec($ch);

 $info = @curl_getinfo($ch);

 echo $response;

 print_r($info);

}

sendContactInfo();

2.関数を実行して値を取得する場合は、次のように「return」を使用します。

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());
于 2013-02-27T22:00:10.187 に答える
0

sendContactInfoは関数ですが、そのように使用されていません。

関数内で使用される変数にアクセスすることはできません。また、何かを返す必要があります

変化する:

$response = @curl_exec($ch);

return @curl_exec($ch);
于 2013-02-27T21:25:58.183 に答える