Vous devez utiliser le code côté serveur afin de sécuriser votre compte MailChimp.
Ce qui suit est une version mise à jour de cette réponse qui utilise PHP :
Les fichiers PHP sont "sécurisés" sur le serveur où l'utilisateur ne les voit jamais, mais jQuery peut toujours y accéder et les utiliser.
1) Téléchargez l'exemple PHP 5 jQuery ici...
http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip
Si vous n'avez que PHP 4, téléchargez simplement la version 1.2 de l'interface MCAPI et remplacez les fichiers MCAPI.class.php
fichier ci-dessus.
http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip
2) Suivez les instructions du fichier Readme en ajoutant votre clé API et votre ID de liste à l'adresse suivante store-address.php
aux endroits appropriés.
3) Vous pouvez également souhaiter recueillir le nom de vos utilisateurs et/ou d'autres informations. Vous devez ajouter un tableau à l'élément store-address.php
en utilisant les variables de fusion correspondantes.
Voici ce que mon store-address.php
où je recueille également le prénom, le nom de famille et le type d'email :
<?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) Créez votre formulaire HTML/CSS/jQuery. Il n'est pas nécessaire qu'il soit sur une page PHP.
Voici quelque chose comme ce que mon index.html
ressemble à un fichier :
<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>
Pièces nécessaires...
-
index.html construit comme ci-dessus ou similaire. Avec jQuery, l'apparence et les options sont infinies.
-
adresse du magasin.php téléchargé dans le cadre des exemples PHP sur le site de Mailchimp et modifié avec votre fichier CLÉ API et ID LIST . Vous devez ajouter vos autres champs facultatifs au tableau.
-
MCAPI.class.php téléchargé sur le site de Mailchimp (version 1.3 pour PHP 5 ou version 1.2 pour PHP 4). Placez-le dans le même répertoire que votre adresse du magasin.php ou vous devez mettre à jour le chemin url dans adresse du magasin.php pour qu'il puisse le trouver.