0

ユーザーが私のMailChimpリストにサインアップできるようにするために使用している次のPHP「サブスクリプション」スクリプトがあります。

期待どおりに動作します (メール アドレスが MailChimp リストに追加されます) が、送信時にエラーが発生します。

これが私のエラーです:

Notice: Trying to get property of non-object in 
E:\domains\*******\subscribe.php on line 29

29行目は次のとおりです。if ($data->error){

これが私のコードです:

<?php
$apiKey = '*********************************';
$listId = '*******************';
$double_optin=true;
$send_welcome=false;
$email_type = 'html';
$email = $_POST['email'];
//replace us2 with your actual datacenter
$submit_url = "http://us5.api.mailchimp.com/1.3/?method=listSubscribe";
$data = array(
    'email_address'=>$email,
    'apikey'=>$apiKey,
    'id' => $listId,
    'double_optin' => $double_optin,
    'send_welcome' => $send_welcome,
    'email_type' => $email_type
);
$payload = json_encode($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $submit_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode($payload));

$result = curl_exec($ch);
curl_close ($ch);
$data = json_decode($result);
if ($data->error){
    echo $data->error;
} else {
    echo "Thanks. You will receive an email shortly to confirm your subscription.";
}

私が使用している HTML フォーム コードと AJAX も提供すると役に立ちますか?

これを手伝ってくれてありがとう:-)

4

1 に答える 1

0

返信が遅くなり申し訳ありませんが、これを見た人なら誰でも知っているように:

使用しようとしている変数が「オブジェクト」ではないため、このエラーが発生していますhttp://php.net/manual/en/language.oop5.phpを参照してください

この場合の $data は配列です。クラスとオブジェクトを使用する人は、必ずクラスを開始するか、既に開始されているクラスをグローバルにしてください。

例えば。

$object = new class();

また

global $object;

$object がインクルード ファイルで宣言されている場合。

于 2013-08-02T02:37:57.570 に答える