Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在电子邮件注册表单中实现mailchimp API?_Php - Fatal编程技术网

Php 如何在电子邮件注册表单中实现mailchimp API?

Php 如何在电子邮件注册表单中实现mailchimp API?,php,Php,下面是一个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"> <

下面是一个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模板中的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 :)";
}
?>

他们正在表单上使用Twitter引导。如果当前未使用twitter引导,则需要将twitter引导相关的css和js文件添加到页面中。相反,如果您想使用mailchimp使用的确切样式,您可以使用他们的订阅小部件。有关更多详细信息,请参见

我敢肯定他是不安的,所以你必须研究一下卷发之类的东西。(今天晚些时候我会发布你问题的真实答案——如果还没有得到回答的话)谢谢!唯一的问题是,当我的用户单击submit时,他们会得到一个新的弹出窗口,这就是使用API方法的缺点,对吗?对不起,我太挑剔了,但再次感谢你的帮助。我想我会去读一些书的,哈哈。然后,你需要使用精确的mailchim p表单,把mailchimp使用的css文件放进去。然后应用你的站点。
} else {
    echo "Thanks! We'll keep you updated on the conference :)";
}
<?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 :)";
}
?>