使用现有表单将数据发送到mailchimp,然后重定向

我没有和我的mailchimp一起工作很多,所以我想知道是否可以轻松地将表单数据发送到mailchimp而不使用他们的预制模板。 另外,mailchimp会发送某种回调吗? 我希望提交表单然后在完成时将用户重定向到下载页面。 如果它可以在ajax / jquery中运行会更好。

基本上,您在自己的自定义HTML表单上使用jQuery ajax()来访问与MailChimp API通信的PHP文件。 MailChimp的回复通过Ajax回到原始表单,因此没有重定向或刷新。 但是,如果要重定向,只需更改jQuery ajax函数即可。

即使您不使用PHP,它也很可能安装在您的服务器上。 您的用户永远不会看到PHP文件; 他们只是在后端使用。

资料来源:我之前发布的SO答案……

在摸索了一段时间之后,我找到了一个使用jQuery的PHP示例的网站。 从那以后,我能够使用包含基本注册表单的jQuery创建一个简单的HTML页面。 PHP文件在后台“隐藏”,用户从未看到它们,jQuery仍然可以访问和使用它们。

1)在这里下载PHP 5 jQuery示例…

http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip

如果您只有PHP 4,只需下载MCAPI的1.2版并替换上面相应的MCAPI.class.php文件。

http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip

2)通过将API密钥和列表ID添加到适当位置的store-address.php文件,按照自述文件中的说明进行操作。

3)您可能还想收集用户的姓名和/或其他信息。 您必须使用相应的合并变量将数组添加到store-address.php文件中。

这是我的store-address.php文件的样子,我还收集了名字,姓氏和电子邮件类型:

  $_GET['email'], 'FNAME' => $_GET['fname'], 'LNAME' => $_GET['lname'] ); // grab your List's Unique Id by going to http://admin.mailchimp.com/lists/ // Click the "settings" link for the list - the Unique Id is at the bottom of that page. $list_id = "123456a"; if($api->listSubscribe($list_id, $_GET['email'], $merge_vars , $_GET['emailtype']) === true) { // It worked! return 'Success!  Check your inbox or spam folder for a message containing a confirmation link.'; }else{ // An error ocurred, return error message return 'Error:  ' . $api->errorMessage; } } // If being called via ajax, autorun the function if($_GET['ajax']){ echo storeAddress(); } ?> 

4)创建HTML / CSS / jQuery表单。 它不需要在PHP页面上。

这是我的index.html文件的样子:

   Welcome    
Sign Up for the Newsletter:

First Name: 
Last Name: 
email Address (required): 
HTML  Text  Mobile Device

所需件……

  • index.html如上构建或类似。 使用jQuery,外观和选项是无止境的。

  • store-address.php文件作为PHP示例的一部分在Mailchimp站点上下载,并使用您的API KEYLIST ID进行修改 。 您需要将其他可选字段添加到数组中。

  • 从Mailchimp站点下载的MCAPI.class.php文件(PHP 5版本1.3或PHP 4版本1.2)。 将它放在store-address.php所在的目录中,或者必须更新store-address.php中的url路径,以便找到它。