Mailchimp PHP api v.2,用户已存在或取消订阅返回错误
我正在使用Mailchimp v.2 API PHP包装来处理订阅。。。但是,如果列表中已经存在订阅者或订阅者已取消订阅,则会返回一个错误,我想知道一种方法,可以将其编码到以下位置:如果存在任何一种情况,它将继续运行代码而不显示错误。如果这是一个简单的问题,我很抱歉Mailchimp PHP api v.2,用户已存在或取消订阅返回错误,php,mailchimp,Php,Mailchimp,我正在使用Mailchimp v.2 API PHP包装来处理订阅。。。但是,如果列表中已经存在订阅者或订阅者已取消订阅,则会返回一个错误,我想知道一种方法,可以将其编码到以下位置:如果存在任何一种情况,它将继续运行代码而不显示错误。如果这是一个简单的问题,我很抱歉 $api_key = "XXXXXXXXX"; $list_id = "XXXXXX"; require('Mailchimp.php'); $Mailchimp = new Mailchimp( $api_key ); $Mail
$api_key = "XXXXXXXXX";
$list_id = "XXXXXX";
require('Mailchimp.php');
$Mailchimp = new Mailchimp( $api_key );
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
$merge_vars = array('FNAME'=>htmlentities($_POST['stripeFirstName']), 'LNAME'=>htmlentities($_POST['stripeLastName']) );
$subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => htmlentities($_POST['stripeEmail']) ), $merge_vars );
您需要使用
try
和catch
。Mailchimp对什么地方出了问题非常罗嗦
try {
$result = $Mailchimp_Lists->subscribe(
$list_id,
array(/* ... */), // primary subscriber data
array(/* ... */), // merge fields
'html', // email-type preference
false // double-opt-in
);
// Action for successful subscribe attempt.
} catch (\Exception $e) {
if ($e instanceof \Mailchimp_List_AlreadySubscribed) {
// In case they are already subscribed:
$errors[] = $e->getMessage();
} else {
// In case something else went wrong.
$errors[] = 'There was an error adding your email to the list. Would you mind trying again?';
}
// Debug time!
var_dump($errors);
}
您需要使用
try
和catch
。Mailchimp对什么地方出了问题非常罗嗦
try {
$result = $Mailchimp_Lists->subscribe(
$list_id,
array(/* ... */), // primary subscriber data
array(/* ... */), // merge fields
'html', // email-type preference
false // double-opt-in
);
// Action for successful subscribe attempt.
} catch (\Exception $e) {
if ($e instanceof \Mailchimp_List_AlreadySubscribed) {
// In case they are already subscribed:
$errors[] = $e->getMessage();
} else {
// In case something else went wrong.
$errors[] = 'There was an error adding your email to the list. Would you mind trying again?';
}
// Debug time!
var_dump($errors);
}
好的,现在我如何跳过错误而不是重复错误?我还需要它通过header()重定向到不同的页面,而不是回显错误。谢谢删除echo/var_dump语句,以支持header()函数。不过要注意,现在还没有输出。不过,听起来你好像要把目标转移到这里。如果您的初始问题已得到回答,请将其标记为已接受。或者,修改你的问题,更详细地说明你想要实现什么,你尝试了什么。好吧,现在我如何跳过错误而不是重复错误?我还需要它通过header()重定向到不同的页面,而不是回显错误。谢谢删除echo/var_dump语句,以支持header()函数。不过要注意,现在还没有输出。不过,听起来你好像要把目标转移到这里。如果您的初始问题已得到回答,请将其标记为已接受。或者,修改你的问题,更详细地说明你想要实现什么,你尝试了什么。