2014-05-12 60 views
-1

以下是一個來自具有MailChimp API表單的網站模板的html代碼片段。如何在電子郵件註冊表單中實現mailchimp API?

<div class="row"> 
    <div class="col-md-6 col-sm-12 col-md-offset-3 subscribe"> 
    <form class="form-horizontal" role="form" action="subscribe.php" id="subscribeForm" method="POST"> 
     <div class="form-group"> 
     <div class="col-md-7 col-sm-6 col-sm-offset-1 col-md-offset-0"> 
      <input class="form-control input-lg" name="email" type="email" id="address" placeholder="Enter your email" data-validate="validate(required, email)" required="required"> 
     </div> 
     <div class="col-md-5 col-sm-4"> 
      <button type="submit" class="btn btn-success btn-lg">SIGN UP TO BE NOTIFIED</button> 
     </div> 
     </div> 
    </form> 
    <span id="result" class="alertMsg"></span> </div> 
</div> 

這是我目前使用的網站模板的電子郵件提交表格。此表格直接向我的帳戶提交電子郵件;我的問題是:如何將以下表單轉換爲mailchimp API表單?我主要是想使用它,因爲它是正確的格式已經爲網站製作IM - 又名它的CSS我的作品,它的大小合適,等

<div class="newsletter"> 
<form action="subscribe.php" method="post" id="newsletter-form"> 
    <p class="form-field"> 
    <label for="newsletter_email" class="visually-hidden">Your email address</label> 
    <i class="icon ion-paper-airplane" aria-hidden="true"></i> 
    <input type="text" name="newsletter_email" id="newsletter_email" value="" placeholder="Your email address" /> 
    </p> 
    <p class="form-submit"> 
    <input type="submit" name="newsletter_submit" id="newsletter_submit" value="Get Notified" /> 
    </p> 
</form> 
</div> 

感謝您的幫助!對於這篇長文章感到抱歉。我不確定在stackoverflow上的禮儀是什麼,所以如果我問一個蹩腳的問題,讓我知道。

編輯:

http://i.stack.imgur.com/tCZ7S.png

這是對我的當前模板兩種形式的屏幕截圖。最重要的是原始表單,它直接將訂閱電子郵件發送到我的電子郵件,而最下面是mailchimp表單。除了沒有正確格式化,則mailchimp形式也給我發一個空白頁後,我進入我的電子郵件,而不是隻返回一個簡單的感謝消息的頁面上,因爲它應該(如:

} else { 
    echo "Thanks! We'll keep you updated on the conference :)"; 
} 

下面是從mailchimp模板subscribe.php:

<?php 
$apiKey = ''; 
$listId = ''; 
$double_optin=true; 
$send_welcome=true; 
$email_type = 'html'; 
$email = $_POST['email']; 
//replace us2 with your actual datacenter 
$submit_url = "http://us1.api.mailchimp.com/1.3/?method=listSubscribe"; 
$data = array(
    'email_address'=>$email, 
    'apikey'=>$apiKey, 
    'id' => $listId, 
    'double_optin' => $double_optin, 
    'send_welcome' => $send_welcome, 
    'email_type' => $email_type 
); 
$payload = json_encode($data); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $submit_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode($payload)); 
$result = curl_exec($ch); 
curl_close ($ch); 
$data = json_decode($result); 
if ($data->error){ 
    echo $data->error; 
} else { 
    echo "Thanks! We'll keep you updated on the conference :)"; 
} 
?> 
+0

我很確定[他們的API](http://apidocs.mailchimp.com/api/2.0/)是RESTless,所以你必須看看像cURL的東西。 (我會在今天晚些時候發佈你的問題的實際答案 - 如果它還沒有被回答) –

回答

0

他們對自己的形式使用Twitter的引導。如果你目前沒有使用twitter bootstrap,你需要添加twitter引導相關的CSS和JS文件到你的頁面。相反,如果你想使用確切樣式的mailchimp使用,你可以使用他們的訂閱小部件。見here進一步的細節

+0

謝謝!那麼唯一的問題就是我的用戶在點擊提交時會得到一個新的彈出窗口,所以這對使用API​​方法是不利的?對不起,我超級挑剔,但再次感謝您的幫助。我會去讀一些書,我想應該是哈哈。 – user3627191

+0

然後,您需要使用確切的mailchim p表單並放置mailchimp使用的css文件。然後應用您的網站。 –

相關問題