Проверка доступности имени пользователя на PHP и jQuery
Очень часто клиенты просят своих программистов имплементировать функционал, который позволит определить зарегистрирован пользователь с каким-то именем или оно уже занято.
Раньше это была довольно-таки сложная задача, но теперь у нас есть jQuery, который значительно облегчит нам жизнь благодаря своим возможностям.
Я предпочитаю AJAX потому что благодаря ему, можно строить удобные сайты. Люди любят такие навороты. Поэтому задачу данного урока мы будем решать именно так.
Итак, давайте создадим таблицу, где будет храниться информация о пользователях:
CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `username` varchar(150) NOT NULL, `email` varchar(100) NOT NULL, `pass` varchar(100) NOT NULL, PRIMARY KEY (`id`) )
В принципе тут всё довольно просто. Теперь создадим небольшую форму:
<form action="do_check.php" method="post"> <input id="username_box" class="search_box" name="username" type="text" /> <input id="sub" type="submit" value="Check" /> </form>
В реальной жизни данная форма может сильно разрастись, но для нашего урока, этого будет достаточно. Прошу заметить, что я добавил блок с id “results”, который будет содержать результат.
Добавим немного магии:
$(function() { $("#sub").click(function() { // получаем то, что ввёл пользователь var checkString = $("#username_box").val(); // формируем строку запроса var data = 'user='+ checkString; // если checkString не пуста if(checkString) { // делаем ajax запрос $.ajax({ type: "POST", url: "do_check.php", data: data, beforeSend: function(html) { // перед отправкой $("#results").html(''); }, success: function(html){ // получаем результаты $("#results").show(); $("#results").append(html); } }); } return false; }); });
Код jQuery отправляет AJAX запрос в файл PHP с именем do_check.php, который проверяет наличие пользователя и возвращает результат. Примерно вот так:
//если к нам идёт $_POST запрос if (isset($_POST['user'])) { // подключаемся к базе include('db.php'); $db = new db(); // Никогда не доверяйте тому, что пишут ваши пользователи $username = mysql_real_escape_string($_POST['user']); // создаём строку запроса $sql = "SELECT count(*) as num FROM users WHERE username = '" . $username."'"; // получаем результаты $row = $db->select_single($sql); if($row['num'] == 0) { echo 'Пользователя с логином '.$username.' нет!'; } else { echo 'Пользователь с логином '.$username.' уже есть!'; } }
В данном фрагменте мы делаем запрос в БД и считаем количество строк, которые получим как результат. Если строк нет, то имя пользователя доступно для регистрации.
Вот и всё.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/1LSqOiNsRSI/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
- 2024-05-27 » Подборка сервисов для расшифровки аудио в текст
- 2024-05-27 » PostgreSQL 16. Изоляция транзакций. Часть 2
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
Бог тянет за одну руку, а черт - за обе ноги Буш Вильгельм - (1832-1908) - немецкий поэт и художник |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.