Регистрация на PHP

163
06 ноября 2018, 01:10

Есть задача - это регистрация пользователя и сохранение его в базе phpmyadmin. При отправке GET или POST запросом в form нужно обязательно жать отправить. После этого идёт обновление страницы. Только после этого можно отослать пользователю инфу о том что допустим такой ник или email уже есть в базе. Такой подход не устраивает. Нужна другая реализация при которой пользователь только вписал свой ник и email в поле (он ещё не нажимал отправить) и ему сразу же выведется что такой ник уже занят. Это по типу реализации регистрации на mail.ru . Можно ли такое реализовать в php в принципе ? Заранее спасибо.

Answer 1

С использованием JS можно.

Например:

Клиент:

myPerfectEmailInput.addEventListener("change", e => { 
  if (!e.target.value.match(/@/) || e.target.value.length < 4) 
    return false; // дабы лишний раз сервер не дёргать. 
  let formData = new FormData(); 
  formData.append("email", e.target.value); // вдруг ещё что-то передать нужно. 
 
  fetch("/url/to/handler.php", { 
      method: "POST", 
      body: formData 
    }) 
    .then(r => r.json()) // подразумевается, что ответ с сервера - JSON 
    .then(r => { 
      if (r.emailExists) { 
        doSomething(); // например, выдаём какую-нибудь ошибку/подсвечиваем инпут красным или что-то в этом духе. 
      } 
    }); 
});
<input type="email" id="myPerfectEmailInput" />

PHP: $result = $db->query("SELECT 1 AS exists FROM users WHERE email = ?", $_POST['email']); // здесь какой-то запрос в БД. echo json_encode(["emailExists" => $result["exists"]);

Работать может примерно так. (если что, занят или не занят - рандом, просто для примера)

UPD. Добавил также проверку на количество символов, сам об этом не подумал. Спасибо Сергею.

READ ALSO
Как понять написание кода в внутри preg_march_all?

Как понять написание кода в внутри preg_march_all?

В preg_match_all первым аргументом вставляется html блок

167
htaccess. Некорректный редирект

htaccess. Некорректный редирект

Происходит странная переадресацияДелаю счетчик на основе htaccess и столкнулся с такой проблемой

176
Как научить curl сохранять куки и работать с ними?

Как научить curl сохранять куки и работать с ними?

задался вопросом, можно ли сделать такой функционал:

156
C/C++, комментарии внутри макросов

C/C++, комментарии внутри макросов

Подскажите, можно ли делать в C/C++ внутри макросов комментарии?

203