Вы должны использовать код на стороне сервера для защиты своей учетной записи MailChimp.
Ниже приводится обновленная версия этого ответа, в котором используется PHP :
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) Следуйте инструкциям в файле Readme, добавив ключ API и идентификатор списка в файл store-address.php
в соответствующих местах.
3) Возможно, вы также захотите собрать имя вашего пользователя и / или другую информацию. Вы должны добавить массив в файл store-address.php
, используя соответствующие переменные слияния.
Вот как выглядит мой store-address.php
файл, где я также собираю имя, фамилию и тип электронной почты:
<?php
function storeAddress(){
require_once('MCAPI.class.php'); // same directory as store-address.php
// grab an API Key from http://admin.mailchimp.com/account/api/
$api = new MCAPI('123456789-us2');
$merge_vars = Array(
'EMAIL' => $_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 '<b>Error:</b> ' . $api->errorMessage;
}
}
// If being called via ajax, autorun the function
if($_GET['ajax']){ echo storeAddress(); }
?>
4) Создайте форму HTML / CSS / jQuery. Не обязательно быть на странице PHP.
Вот как выглядит мой index.html
файл:
<form id="signup" action="index.html" method="get">
<input type="hidden" name="ajax" value="true" />
First Name: <input type="text" name="fname" id="fname" />
Last Name: <input type="text" name="lname" id="lname" />
email Address (required): <input type="email" name="email" id="email" />
HTML: <input type="radio" name="emailtype" value="html" checked="checked" />
Text: <input type="radio" name="emailtype" value="text" />
<input type="submit" id="SendButton" name="submit" value="Submit" />
</form>
<div id="message"></div>
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#signup').submit(function() {
$("#message").html("<span class='error'>Adding your email address...</span>");
$.ajax({
url: 'inc/store-address.php', // proper url to your "store-address.php" file
data: $('#signup').serialize(),
success: function(msg) {
$('#message').html(msg);
}
});
return false;
});
});
</script>
Требуется штук ...
index.html , построенный, как указано выше, или аналогичный. С jQuery внешний вид и опции бесконечны.
store-address.php , загруженный как часть примеров PHP на сайт Mailchimp и измененный с помощью API KEY и LIST ID . Вам нужно добавить другие дополнительные поля в массив.
MCAPI.class.php файл, загруженный с сайта Mailchimp (версия 1.3 для PHP 5 или версия 1.2 для PHP 4). Поместите его в тот же каталог, что и ваш store-address.php , или вы должны обновить путь URL в store-address.php , чтобы он мог его найти.