所以我有一个提交电子邮件字符串的表单。我希望这进入一个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));
无论如何,它仍然和以前一样。 :(
答案 0 :(得分:0)
想出来!我需要使用call方法而不是subscribe方法。我真的不确定为什么。任何进一步的输入都会很棒:)