表单提交到电子邮件和Mailchimp订阅

时间:2015-10-22 15:28:41

标签: php forms api email mailchimp

我正在一个非政府组织网站上工作,该网站接受捐款,并收集有兴趣了解组织进展情况的人的电子邮件地址。

因此,我创建了一个贯穿整个支付流程等的捐赠表格,并将捐赠者交给了#34;谢谢你"页。

关于"谢谢你"他们询问捐赠者是否需要,收据,订阅他们的电子邮件地址以及他们希望短信提醒的页面。所以我有以下表格,捐赠者填写

<form action="#url" method="post" name="recipt-form" >
                <div id="mc_embed_signup_scroll">

                    <div class="mc-field-group">
                        <label for="sposti">Email Address  <span style="color:red;">*</span> <?php // echo $emailErr;?></label><br/>
                        <input type="email" value="" name="sposti" id="sposti">
                        <?php // echo $emailError;?>
                    </div>

                    <div class="mc-field-group">
                        <label for="enimi">First Name  <span style="color:red;">*</span> <?php // echo $nameErr;?></label><br/>
                        <input type="text" value="" name="enimi" id="enimi">
                        <?php echo $nameError;?>
                    </div>
                    <div class="mc-field-group">
                        <label for="snimi">Last Name  <span style="color:red;">*</span> <?php // echo $nameErr;?></label><br/>
                        <input type="text" value="" name="snimi" id="snimi">
                        <?php echo $nameError;?>
                    </div>
                    <div class="mc-field-group">
                        <label for="phone">Phone number</label><br/>
                        <input type="text" value="" name="phone" id="phone">
                    </div>
                    <div class="mc-field-group input-group">
                        <p><strong><input type="checkbox" value="Kyllä!" name="newsletter" class="checkbox" id="newsletter"><label for="mce-group[18181]-18181-0">Yes I would like to subscribe to your new letters</label></strong></p>
                        <p><strong><input type="checkbox" value="Kyllä!" name="sms" class="checkbox" id="sms"><label for="sms">Yes i would like to be updated through SMS</label></strong></p>
                        <p><input type="hidden" name="summa" value="<?php echo $_SESSION["summa"]?>"></p>
                        <p><input type="submit" value="Send" name="submit" class="button"></p>
                    </div>
                </div>

            </form>

上面的代码会获取所有信息并发送电子邮件收据。

对于订阅mailchimp,如果他们选择通过点击上面表格中的复选框来订阅电子邮件和/或短信,我会使用以下代码。

include_once('MailChimp.class.php');
    // MailChimp submission
     if (!empty($_POST['newsletter'])) {

        $MailChimp = new MailChimp('key');
        $result = $MailChimp->call('lists/subscribe', array(
                'id'                => 'list-id',
                'email'             => array('email'=>$_POST['sposti']),
                'merge_vars'        => array('FNAME'=>$_POST['enimi'], 'LNAME'=>$_POST['snimi'], 'MMERGE3'=>$_POST['phone']),
                'double_optin'      => false,
                'update_existing'   => true,
                'replace_interests' => false,
                'send_welcome'      => true,
            ));
    }

但它没有订阅MailChimp。我没有在mailchimp列表中看到任何新条目。

我正在使用Drew McLellan编写的Mailchimp.class.php。我不确定它是否与此有关,因为它已经提前工作但现在由于某种原因它已停止。

感谢您对此的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

在订阅数组中,&#39; id&#39;被赋予&#39; list-id&#39;的价值而不是实际的列表ID。此信息也可能作为来自MailChimp的错误消息返回,您应该检查并记录。