Проверка на уникальность email с помощью Js

299
12 марта 2017, 06:57

Есть форма регистрации и в ней ипнут, который на вход принимает email пользователя:

<input type="email" name="email" class="form-control" id="email">

Есть инпут который сохраняет все email в переменную.

<input type='hidden' id="emailValid" value='
    <?
        $mysqli = new mysqli("localhost", "root", "", "project");
        $q = $mysqli->query("SELECT email FROM users");
        while ($row = $q->fetch_assoc()){
              echo $row['email'] . '<br>';
         }
     ?>
'>

Получаю оба результата в js коде:

var email = $('#email').val();
var emailValid = $('#emailValid').val();

Как мне сравнить введенный email с теми что есть в базе, и в случае если такая почта уже есть в базе, вывести ошибку? Может есть другие способы, а то я не уверен в правильности своего кода и что вообще так делают.

Answer 1

Ну такое себе решение. Используйте AJAX. Сначала напишите php скрипт который будет проверять уникальность email`а, потом обращайтесь к нему через AJAX-запрос.

К примеру php: validator.php

  if(isset($_POST['email']){
    /*Какой-то код проверки емейла из $_POST['email'] на уникальность*/ 
    /*Если емейл уникален делаем*/
    return 0;
    /*В обратном случае*/
    return 1;
  }

И делаем запрос к этому скрипту

$('form').submmit(function(){ 
 
$.ajax({ 
  type: "POST", 
  url: "validator.php", 
  data: "email="+$('#email').val(), 
  success: function(data){ 
    if($data == 0) 
      alert('Email уникален'); 
    else 
      alert('Email не уникален'); 
  } 
}); 
 
return false; 
 
});
<form> 
 
<input type="email" id="email" name="email" placeholder="Email"> 
 
<input type="submit" value="Send"> 
 
</form>

READ ALSO
Проблема с mouseup на странице

Проблема с mouseup на странице

Есть элемент span на форме, в onmousedown которого производится его удаление и вызов некоего событияВ этом событии отправляется Ajax-запрос к серверу

265
динамическая подгрузка модуля webpack 2 +

динамическая подгрузка модуля webpack 2 +

Не получается динамически подгружать модульДелаю по документации раздел: require

413
Как формировать JSON?

Как формировать JSON?

Есть массив строк произвольной длины, например ["12", "31", "3", "12"], назовём его tempКак можно его превратить в подобное представление:

337