Сменить уведомление
Всем добрый день! подскажите пожалуйста такая ситуация, есть форма для подписки рассылки - вводим емейл и если все хорошо то пишет ( вы успешно подписаны ) если же такая учетная запись есть то выводится сообщение ( данный эмейл используется ) . Получается так что я ввожу почту которая есть и появляется уведомление что этот емейл используется, если же я ввожу новый эмейл которого нет абсолютно тоже самое. Прикладываю код, заранее спасибо кто отклинется! и еще просьба можно ли сделать при добавление новой почты ( которой нет) скрыть див который с ошибкой.
$('#subscribe').on("submit", function (e) {
e.preventDefault();
var $target = $(e.currentTarget);
var $inputs = $($target.find('.inputs'));
var $success = $($target.find('.success'));
$.post(e.currentTarget.action, $target.serialize(), function (data, status) {
if (status === 'success') {
$inputs.hide();
$success.show();
}
}).fail(function () {
var errmsg = $('#errmsg')[0];
errmsg.innerText = "Данный email уже используется";
$(errmsg).show();
});
});
if (isset($_POST['email'])) {
$email = $_POST["email"];
$sql ='';
$nameFind = db::i()->selectCell("SELECT EXISTS(SELECT `email` FROM `s_mailer_list` WHERE `email` = '".$email."' LIMIT 1) AS exist");
if($nameFind == false)
{
$sql = db::i()->query("INSERT INTO s_mailer_list (added,email,cats) VALUES (NOW(),'$email',',С сайта,')");
echo "Вы успешно подписаны";
}
else
{
echo "Данный e-mail уже используется";
}
}
$isAjax = is_ajax();
if ($isAjax) {
header('Content-Type: application/json');
$data = [];
if ($sql) {
$data['success'] = true;
} else {
http_response_code(400);
$data['message'] = 'Данный email уже используется ';
}
echo json_encode($data);
}
<form class="subscribe" id="subscribe" method="POST" action="subscribe.php">
<p>Подписка на информационную рассылку</p>
<div class="inputs">
<div class="d-flex">
<input class="form-control" type="email" name="email" id="email" required placeholder="Email">
<button class="btn" type="submit" name="submit_form" value="submit">
<img src="/newdev/images/arrow-submit.svg" alt="">
</button>
</div>
</div>
<div class="success" style="display: none; text-align:center; color:rgb(53 58 54); padding:6px 6px 6px 6px; background:#FFFFFF; border-radius:6px;">Вы успешно подписаны ☑</div>
<div class="errmsg" id="errmsg" style="display: none; text-align:center; color:rgb(53 58 54); padding:6px 6px 6px 6px; background:#FFFFFF; border-radius:6px;">Данный email уже используется</div>
</form>
Источник: Stack Overflow на русском