我試圖在我的網站上使用Mailchimp API來允許人們通過自定義窗體訂閱我的Mailchimp通訊。Mailchimp_List_Already訂閱致命錯誤使用Mailchimp API 2和PHP
工作代碼如下:
$message="";
if(isset($_POST) & !empty($_POST)){
$emailsanit=filter_var($_POST['email'],FILTER_SANITIZE_EMAIL);
$email=filter_var($emailsanit,FILTER_VALIDATE_EMAIL);
$api_key = "my api key";
$list_id = "my list id";
require("Mailchimp.php");
$Mailchimp = new Mailchimp($api_key);
$Mailchimp_Lists = new Mailchimp_Lists($Mailchimp);
$subscriber = $Mailchimp_Lists->subscribe($list_id, array('email' => $email));
if (! empty($subscriber['leid'])) {
$message="<div id='message' class='text-success'>Please check your email inbox to complete your subscription</div>";
}
else
{
$message="<div id='message' class='text-danger'>Failed to add email to database. Please try again or email</div>";
}
}
?>
正如我說的,這工作得很好,我遇到的問題是,如果有人進入一個已經註冊的我碰到下面的錯誤,顯然沒有一個電子郵件地址其他負載:
Fatal error: Uncaught exception 'Mailchimp_List_AlreadySubscribed' with message '[email protected] is already subscribed to list XX.
任何建議,我怎麼能去製作一個規則,這樣,如果一個電子郵件地址已經被註冊的消息變量更新(形式在同一頁上處理)?
此帖子MailChimp API 2.0 and PHP Subscribe Form有人有同樣的問題,但我並不真正瞭解解決方案。
你需要捕捉拋出的異常。 –
首先想到的是在調用$ Mailchimp_Lists-> subscribe()之前檢查訂閱者是否存在。嘗試使用Mailchimp_Lists-> memberInfo()來做到這一點。 – lwitzel
謝謝你們。我無法解決如何配置memberinfo函數來專門查看用戶是否已經註冊,但如果收到錯誤,我確實設法使用它來產生錯誤消息,並停止發送現在足夠好的消息。謝謝! – JonnyHarper