у нас есть проблема в нашей форме подтверждения нашего информационного бюллетеня. Когда мы проверяем, электронное письмо добавляется в нашу базу данных, но сообщение о том, что вы хорошо добавлены, не появляется, пока локально да.
И у нас нет ошибки в нашем терминале.
Вы можете увидеть часть нашего index.php ниже и наш action.php для проверки, и если вы хотите проверить, вы можете перейти сюда https://joy.me.tmonsegu.com/:
index.php:
<div id="ctnr_newsletter">
<h2>Aidez-nous à vous aider</h2>
<?php
$validation = '<p class="validate">Merci de votre inscription ! Vous recevrez votre première newsletter très bientôt. <br>Suivez-nous sur facebook : @Joy.me</p>';
$subscriber = '<p class="validate">Vous êtes déjà abonné. <br>Suivez-nous sur facebook : @Joy.me</p>';
$joy = '<p>Joy aura pour mission de vous aider dans votre démarche de vente, don ou recyclage.<br>Vous recevrez un vendredi sur deux votre newsletter sur les dernières actualités ! </p>';
if (!isset($_SESSION['msg']) || $_SESSION['msg'] !== $validation || $_SESSION['msg'] !== $subscriber ) {
echo $joy;
}
$statusMsg = !empty($_SESSION['msg'])?$_SESSION['msg']:'';
unset($_SESSION['msg']);
echo $statusMsg;
?>
<form method="post" action="action.php">
<input id="email" type="text" name="email" placeholder="Votre adresse mail">
<input type="submit" name="submit" id="send_email" value="Envoyer" disabled>
</form>
</div>
action.php:
<?php
session_start();
if(isset($_POST['submit'])){
$email = $_POST['email'];
if(!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL) === false){
// MailChimp API credentials
$apiKey = 'f1ad0a1ea2f5891b8316183583d1fd35-us20';
$listID = '941b6cb8ca';
// MailChimp API URL
$memberID = md5(strtolower($email));
$dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
$url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/lists/' . $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 class="validate">Merci de votre inscription ! Vous recevrez votre première newsletter très bientôt. <br>Suivez-nous sur facebook : @Joy.me</p>';
} else {
switch ($httpCode) {
case 214:
$msg = '<p class="validate">Vous êtes déjà abonné. <br>Suivez-nous sur facebook : @Joy.me</p>';
break;
default:
$msg = '<p class="error bold">Un petit problème a eu lieu, merci de bien vouloir réessayer.</p>';
break;
}
$_SESSION['msg'] = '<p>'.$msg.'</p>';
}
}else{
$_SESSION['msg'] = '<p class="error bold">Une faute de frappe ! Veuillez vérifier que ce soit une adresse valide (example@gmail.com).</p>';
}
}
// redirect to homepage
header('location:index.php#ctnr_newsletter');
Заранее спасибо, если у вас есть предложения по решению этой проблемы