В настоящее время .. У меня есть все подключенные и работающие api mailchimp, и когда я нажимаю кнопку «Отправить» в моей форме, она автоматически регистрирует мою электронную почту. Однако, есть предопределенный $ my_email, а также массивы в $ merge_vars, которые предопределены, как показано ниже …
$merge_vars = array('FNAME' => 'Test', 'LNAME'=>'Account',
);
$my_email = '[email protected]';
Теперь я пытался получить РЕАЛЬНЫЕ ИМЯ и ИМЯ, которые будут введены в почтовую форму, которая переходит на форму подписки с их информацией, потому что в противном случае … несмотря ни на что … Форма технически не делает ничего другого чем действие формы listSubscribe.php и отправка предопределенной информации.
Как я могу передать эту информацию? Я на последнем шаге ..
Я думал, что это будет что-то вроде имени / идентификатора mailchimp, которое он тянет так же, как и для встроенной формы, выполняя запрос GET для имени поля. Но это не сработало, что я подумал, как это раньше работал и просто показывался пустым в mailchimp для подписчика.
$merge_vars = Array(
'email' => $_GET['email'],
'FNAME' => $_GET['FNAME'],
'LNAME' => $_GET['LNAME'],
'MMERGE3' => $_GET['MMERGE3'],
'MMERGE3' => $_GET['MMERGE4']
);
Чтобы уточнить, я пытаюсь получить информацию из моей формы mailchimp через API, как я настроил ее, каким-то хорошим способом?
<?php
require_once 'inc/MCAPI.class.php';
require_once 'inc/config.inc.php'; //contains apikey
$api = new MCAPI($apikey);
$merge_vars = array('FNAME' => 'Test', 'LNAME'=>'Account',
);
// By default this sends a confirmation email - you will not see new members
// until the link contained in it is clicked!
$retval = $api->listSubscribe( $listId, $my_email, $merge_vars );
if ($api->errorCode){
echo "Unable to load listSubscribe()!\n";
echo "\tCode=".$api->errorCode."\n";
echo "\tMsg=".$api->errorMessage."\n";
} else {
echo "Subscribed - look for the confirmation email!\n";
}
?>
Фрагмент моей формы ..
<div class="email-form">
<div id="mc_embed_signup">
<form action="mcapi_listSubscribe.php" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div id="mc_embed_signup_scroll">
<hr>
<div class="mc-field-group">
<label for="mce-FNAME">First Name:</label>
<input type="text" value="" name="FNAME" class="" id="fn">
</div><hr>
<div class="mc-field-group">
<label for="mce-LNAME">Last Name:</label>
<input type="text" value="" name="LNAME" class="" id="ln">
</div><hr>
<div class="mc-field-group">
<label for="mce-EMAIL">Email: <span class="asterisk">*</span>
</label>
<input type="email" value="" name="EMAIL" class="required email" id="em">
</div><hr>
<label for="mce-MMERGE3">Telephone: </label>
<input type="text" name="MMERGE3" class="tel" value="" id="tp">
<label for="mce-MMERGE4">Zip Code: </label>
<input type="text" value="" name="MMERGE4" class="zip" id="z">
<hr>
<div class="mc-field-group input-group">
<input type="checkbox" value="1" name="group[17901][2]" id="real">
<label for="chk" class="chk">I am a homebuyer</label>
<br>
<input type="checkbox" value="1" name="group[17901][1]" id="real">
<label for="chk" class="chk">I am a realtor/broker</label>
</div>
<div style="position: absolute; left: -5000px;"><input type="text" name="b_2c388f1367d49e756e70a6ef2_6b9ad77da3" tabindex="-1" value=""></div>
<div class="clear"><input type="submit" value="REGISTER" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
</div>
</form>
<div id="mce-responses" class="clear">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
</div>
</div>
<!--End mc_embed_signup-->
</div>
Я использовал метод POST с запросом GET для полей имени. Моя ошибка заключалась в том, что я должен был сделать запрос POST, учитывая, что моя форма использует метод POST, а не GET.
<form action="mcapi_listSubscribe.php" method="post"
Это должно выглядеть так …
$merge_vars = Array(
'email' => $_POST['email'],
'FNAME' => $_POST['FNAME'],
не…
$merge_vars = Array(
'email' => $_GET['email'],
'FNAME' => $_GET['FNAME'],
Других решений пока нет …