PHP错误-“;试图获取“中非对象的属性”;
我使用下面的PHP“订阅”脚本允许用户注册我的MailChimp列表 它按预期工作(将我的电子邮件地址添加到我的MailChimp列表),但我在提交时也会出错 这是我的错误:PHP错误-“;试图获取“中非对象的属性”;,php,mailchimp,Php,Mailchimp,我使用下面的PHP“订阅”脚本允许用户注册我的MailChimp列表 它按预期工作(将我的电子邮件地址添加到我的MailChimp列表),但我在提交时也会出错 这是我的错误: Notice: Trying to get property of non-object in E:\domains\*******\subscribe.php on line 29 第29行是:if($data->error){ 这是我的密码: <?php $apiKey = '****************
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.";
}
很抱歉回复太晚,但只要看到这一点的人都知道:
出现此错误是因为您尝试使用的变量不是“对象”
看
$data在本例中是一个数组。对于使用类和对象的任何人,请确保启动您的类,或启动一个已启动的全局类
例如
或
如果$object已在任何包含的文件中声明。$data是一个数组…您需要检查$result==FALSE,然后检查它是否执行:curl_error($ch);
在json_decode()之前也检查有无错误。if($result==FALSE){die('1');}否则{die('2');}
当我运行这个时,我得到了“2”。这意味着什么?这意味着调用成功,现在是var\u dump(json\u decode($result));
而不是die('2');
当出现错误时,您将看到结果$result
为false,否则它有来自服务器的结果。。。
$object = new class();
global $object;