Проверка доступности имени пользователя на 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

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Проверка доступности имени пользователя на PHP и jQuery | | 2012-06-24 16:22:34 | | Статьи Web-мастеру | | Очень часто клиенты просят своих программистов имплементировать функционал, который позволит определить зарегистрирован пользователь с каким-то именем или оно уже занято.Раньше это была довольно-таки | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: