MailChimp API 2.0和PHP订阅表单

时间:2014-01-28 01:54:09

标签: php forms email mailchimp

所以我有一个提交电子邮件字符串的表单。我希望这进入一个MailChimp列表,我已经设置了一个电子邮件,名字和姓氏。对于这个特定的表单,我只希望它发送一封电子邮件,并将名字和姓氏字段留空。无论如何,在查看文档之后(我不是这里的超级专业人员),但是我将表单提交后处理的PHP放在一起。无论如何它不起作用,电子邮件不会被添加到我的MailChimp列表中。我甚至仔细检查了API密钥和列表ID。下面是我的代码,它与MailChimp订阅处理有关:

<?php
require_once("../includes/mailchimp/Mailchimp.php");

if (isset ($_POST['submitted'])) {
    $email = $database->escape_value(trim($_POST['email']));

     if (!empty ($email) && filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $email)) {
        $session->save_email($email);
        // Subscribe User to List
        $api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        $list_id = "xxxxxxxxxxx";

        $Mailchimp = new Mailchimp( $api_key );
        $Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
        $subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => $email ) );

        if ( ! empty( $subscriber['leid'] ) ) {
            redirect_to("./#subcribed");
        }
        // end subscribe

    } else {
        redirect_to("./#hello-" . $email);
    }
}
?>

现在是“redirect_to(”./# subcribed“”);“被调用,但没有任何内容被发送到MailChimp列表。关于为什么它可能不起作用的任何想法?

**编辑 我删除了这个:

$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );

然后将订阅功能更改为:

$subscriber = $Mailchimp->lists->subscribe($list_id, array('email' => $email));

无论如何,它仍然和以前一样。 :(

1 个答案:

答案 0 :(得分:0)

想出来!我需要使用call方法而不是subscribe方法。我真的不确定为什么。任何进一步的输入都会很棒:)