我不知道发生了什么,但提交表单后我得到了空白页。 File 负责将我的网站与 Mailchimp 集成。下面我也分享html代码。我查看了变量,理论上在 php 和 html 文件中一切都是正确的。 API 密钥正确,MailChimp 的邮件列表编号也是正确的。什么可能导致这种情况?
<?php
session_start();
if(isset($_POST['submit'])) {
$email = $_POST['email'];
if(!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL)) === false) {
//Mailchimp API credentials
$apiKey = 'xxxxxxxxxxxxxx';
$listID = 'xxxxxxxxxx';
//Mailchimp API URL
$memberID = md5(strtolower($email));
$dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
$url = 'https://' . $dataCenter . 'api.mailchimp.com/3.0/lists?fields=' . $listID . '/members' . $memberID;
// member information
$json = json_encode ([
'email_address' => $email,
'status' => 'subscribed',
]);
// send a HTTP POST request with curl
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $apiKey);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// store the status message based on response code
if ($httpCode == 200) {
$_SESSION['msg'] = '<p style="color: #34A853">You have successfully subscribed to CodexWorld.</p>';
} else {
switch ($httpCode) {
case 214:
$msg = 'You are already subscribed.';
break;
default:
$msg = 'Some problem occurred, please try again.';
break;
}
$_SESSION['msg'] = '<p style="color: #EA4335">'.$msg.'</p>';
}
}else{
$_SESSION['msg'] = '<p style="color: #EA4335">Please enter valid email address.</p>';
}
}
// redirect to homepage
header('location:index.php');
}
}
<!-- Modal Newsletter Start-->
<div id="myModal" class="modal fade">
<div class="modal-dialog modal-newsletter">
<div class="modal-content">
<?php echo $statusMsg: ?>
<form method="post" action="action.php">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span>×</span></button>
</div>
<div class="modal-body text-center">
<h4>Subscribe to our newsletter</h4>
<p>Signup to our weekly newsletters to get the latest news, updates and amazing offers!</p>
</div>
<div class="input-group">
<input type="text" name="email" class="form-control" id="emapleInputEmail1" placeholder="Enter your email..." required>
<input type="submit" name="submit" class="btn btn-primary" value="Subscribe">
</div>
</form>
</div>
</div>
</div>