この基本的なスクリプトが機能しない理由を理解するための助けを探しています。MailChimp APIを使用して、カスタム フォームで新しい購読者をリストに追加しようとしています。スクリプトは何も返しません。
URL をブラウザに直接入力すると、オブジェクトが MailChimp にサブスクライブされ、curl が正しく設定されていないと思われるため、API を正しく使用していることはわかっています。何か考えはありますか?
<?php
$apikey = 'xxx';
$listID = 'yyy';
$email = htmlspecialchars(stripslashes(trim($_POST['EMAIL'])));
$fname = htmlspecialchars(stripslashes(trim($_POST['FNAME'])));
$lname = htmlspecialchars(stripslashes(trim($_POST['LNAME'])));
if (!empty($_POST['EMAIL_UPDATES'])) {
$url = sprintf('http://us6.api.mailchimp.com/1.3/?method=listSubscribe&apikey=%s&id=%s&email_address=%s&merge_vars[OPTINIP]=%s&merge_vars[FNAME]=%s&merge_vars[LNAME]=%s&merge_vars[ZIP]=%s&output=json', $apikey, $listID, $email, $_SERVER['REMOTE_ADDR'], $fname, $lname);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
$arr = json_decode($data, true);
if ($arr == 1) {
echo 'Check your e-mail and confirm your subscription.';
} else {
switch ($arr['code']) {
case 214:
echo 'You are already subscribed.';
break;
// check the MailChimp API for more options
default:
echo 'Unknown error.';
break;
}
}
}
?>