Part of the code from the book
Building Findable Websites: Web Standards, SEO, and Beyond
by Aarron Walter (aarron@buildingfindablewebsites.com)
http://buildingfindablewebsites.com
Distrbuted under Creative Commons license
http://creativecommons.org/licenses/by-sa/3.0/us/
///////////////////////////////////////////////////////////////////////*/
function storeAddress()
{
    // Validation
    if (empty($_REQUEST['email'])) {
        return "No email address provided";
    }
    if (!preg_match("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\$/i", $_REQUEST['email'])) {
        return "Email address is invalid";
    }
    // grab an API Key from http://admin.mailchimp.com/account/api/
    $api_key = 'your-api-code-here';
    // 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 = "your-list-id-here";
    require_once 'MailChimp.php';
    $dopt = !empty($_REQUEST['dopt']) && $_REQUEST['dopt'] == 'true' ? true : false;
    $email = $_REQUEST['email'];
    $merge_vars = array('FNAME' => !empty($_REQUEST['fname']) ? $_REQUEST['fname'] : '', 'LNAME' => !empty($_REQUEST['lname']) ? $_REQUEST['lname'] : '');
    $api = new MailChimp($api_key);
    $valid_key = $api->validateApiKey();
    if (!$valid_key) {
        return 'Error: please, check your api-key';
    }
    $result = $api->call('lists/subscribe', array('id' => $list_id, 'email' => array('email' => $email), 'merge_vars' => $merge_vars, 'double_optin' => $dopt, 'update_existing' => true, 'replace_interests' => false, 'send_welcome' => false));
    if (!empty($result['email']) && !empty($result['euid']) && !empty($result['leid'])) {
        return 'Success! Check your email to confirm sign up.';
    } else {