メールチップを使っていないので、フォームデータをメールテンプレートに簡単に送信できるかどうかは不思議です。また、mailchimpは何らかのコールバックを送信するでしょうか?私はフォームを提出してから、ユーザーがダウンロードページにリダイレクトされるようにしたいと思っています。それがすべてajax/jqueryで動作することができればさらに良いでしょう。既存のフォームを使用してmailchimpにデータを送信してからリダイレクト
答えて
基本的に、独自のカスタムHTMLフォームにjQuery ajax()
を使用して、MailChimp APIと通信するPHPファイルにアクセスします。 MailChimpからの応答は、Ajax経由で元のフォームに戻ってくるので、リダイレクトやリフレッシュはありません。しかし、リダイレクトしたい場合は、jQueryのajax関数を変更するだけです。
PHPを使用していなくても、おそらくあなたのサーバーにインストールされている可能性があります。あなたのユーザはPHPファイルを見ることはありません。彼らはちょうどバックエンドで使用されています。
Source: A SO answer I posted previously...
しばらく手探りの後、私は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)を適切な場所でstore-address.php
ファイルにあなたのAPIキーとリストIDを追加することによって、このReadmeファイルの指示に従ってください。
3)ユーザーの名前やその他の情報を収集することもできます。対応するMerge Variablesを使用して、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のフォームを作成します。ここでは
は私store-address.php
ファイルは、私も姓、名、メールアドレスの種類が集まるように見えるものです。 PHPページに入れる必要はありません。
<html>
<head>
<title>Welcome</title>
<style type="text/css" media="screen">
body { font-size: 16px; }
input { font-size: 16px; }
.textinput { width: 300px; height: 20px; }
#message { color: #8e2c30; font-size: 15px; font-weight: bold; padding: 10px; border: solid 1px #6d6e70; }
</style>
</head>
<body>
<div style="width:550px;">
<div style="text-align:right;">
<b>Sign Up for the Newsletter:</b><br />
<br />
<form id="signup" action="index.html" method="get">
First Name: <input type="text" name="fname" id="fname" class="textinput" value="" />
<br />
Last Name: <input type="text" name="lname" id="lname" class="textinput" value="" />
<br />
email Address (required): <input type="email" name="email" id="email" class="textinput" value="" />
<br />
<input type="radio" name="emailtype" value="html" checked="checked">HTML <input type="radio" name="emailtype" value="text">Text <input type="radio" name="emailtype" value="mobile">Mobile Device<br />
<br />
<input type="submit" id="SendButton" name="submit" class="textinput" value="Submit" />
</form>
</div>
<div id="message">
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var emailEntered,
fnameVal,
lnameVal,
emailtypeVal;
$(document).ready(function() {
$("#SendButton").click(function() {
$(".error").hide();
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var emailaddressVal = $("#email").val();
if(emailaddressVal == '') {
$("#message").html('<span class="error">Enter your email address before submitting.</span>');
return false;
}
else if(!emailReg.test(emailaddressVal)) {
$("#message").html("<span class='error'>That is not an email address. Typo?</span>");
return false;
}
else {
emailEntered = escape($('#email').val());
}
fnameVal = escape($("#fname").val());
lnameVal = escape($("#lname").val());
emailtypeVal = $('input:radio[name=emailtype]:checked').val();
});
$('#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: 'ajax=true&email=' + emailEntered +'&fname=' + fnameVal + '&lname=' + lnameVal + '&emailtype=' + emailtypeVal,
success: function(msg) {
$('#message').html(msg);
}
});
return false;
});
});
</script>
</body>
</html>
必要な部分...
index.htmlを:ここ
は私
index.html
ファイルは次のようになります。 jQueryでは、外観とオプションは無限です。ストアaddress.phpファイルMailchimpサイト上のPHPの例の一部としてダウンロードし、お使いのAPI KEYとLISTのIDで改変。あなたは配列にあなたの他のオプションのフィールドを追加する必要があります。
MCAPI.class.php Mailchimpサイト(PHP 5用のバージョン1.3またはPHP 4用のバージョン1.2)からダウンロードされたファイル。あなたのストアaddress.phpと同じディレクトリに配置します。または、ストアaddress.php内のURLパスを更新する必要がありますので、それを見つけることができます。
- 1. MailChimpフォームは、私がフォームを送信するためにMailChimpから自分のサイトで次のように使用している送信
- 2. 既存のアカウントを使用して_without_からメールを送信するには?
- 3. Dropzone.js 5.0 - 既存のイメージを使用してサーバーにデータを送信
- 4. mailchimpを使用してメールを特定のメールに送信
- 5. ajaxを使用して複数のフォームから同じコントローラにデータを送信
- 6. データを送信してPaypalにリダイレクト
- 7. mailchimpを使用してメールの確認を送信する
- 8. iPhoneアプリケーションからPOSTを使用してWebフォームにデータを送信する
- 9. dojoを使用してスプリング・コントローラにフォーム・データを送信
- 10. easyuiフォームを使用してデータを送信するには
- 11. mailchimp API V3を使用してシングルメールを送信
- 12. MailChimp APIを使用してメールを送信する方法
- 13. 保存されたフォームのパラメータを使用してフォームを送信すると、レールを編集ページにリダイレクト
- 14. PHP:フォームを送信して同時にデータを保存する
- 15. AJAXを使用してフォームを送信
- 16. Casperjsを使用してフォームを送信
- 17. HTTPURLConnectionを使用してフォームを送信
- 18. ページネーションを使用してフォームを送信
- 19. PHPを使用してhtmlフォームから電子メールを送信
- 20. jQueryを使用してAJAXコールバック内からフォーム送信をトリガー
- 21. GCMを使用してサーバーからモバイルアプリにデータを送信
- 22. jspを使用してjavaからjavascriptにデータを送信
- 23. このデータを使用してコンポーネントからデータを送信しています
- 24. Dojo - ダイアログ・フォームを使用してデータを送信する方法
- 25. はGETを通じてフォームを送信し、既存のGETパラメータにすでに
- 26. CURLを使用してHTTPS送信フォームからログイン
- 27. jqueryフォームを送信して既存のdivに結果を表示
- 28. フラスコを使用してフォームからデータを受信
- 29. restapiを使用してキャンペーン内の既存のリードにメールを送信
- 30. カールを使用してデータを送信