Я написал код JS, который обрабатывает потерю фокуса и передает команду PHP. Если в базе данных есть почта, она скрывает кнопку, но скрытие происходит через дисплей, есть ли способ сделать это более надежно? не возвращается. < /p>
php: < /p>
if(isset($_POST['email']) && is_string($_POST['email'])) {
include('config.php');
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$headers = "From: $email\r\nReply-to: $email\r\nContent-type:text/plain; charset=utf- 8\r\n";
$query = $connection->prepare("SELECT * FROM all_feedbacks WHERE email=:email");
$query->bindParam(":email", $email, PDO::PARAM_STR);
$query->execute();
$result = $query->fetch(PDO::FETCH_ASSOC);
if ($query->rowCount() > 0) {
echo 'none';
}
if ($query->rowCount() == 0 && isset($_POST['formSubmit'])){
$error_form = BackEndValidationFeedbackForm($name, $email, $phone, $message);
if(!empty($error_form)){
echo $error_form;
}
}
}
< /code>
js: < /p>
var request = new XMLHttpRequest();
function liveEmailCheckInit() {
var emailInput = document.getElementById("emailInput");
request.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("emailCheckResult").style.display = this.responseText
}
}
emailInput.addEventListener( "blur", function() {
request.open("POST", "/formMailCompleted.php", true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.send("email=" + this.value);
}, false)
}
window.addEventListener( "load", liveEmailCheckInit, false );
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-database