Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 5

Форма регистрации. Изменение цвета иконки при валидации

08.05.2014, 16:27. Показов 1932. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Есть форма регистрации


Иконки слева при наведении на строку формы меняют цвет на голубоватый цвет. Выполнены они через символьный шрифт и записаны таким вот образом
HTML5
1
2
3
4
<p class="field">
<input type="text" name="login" placeholder="Логин" required>
<i class="icon-user icon-large"></i>
</p>
Для данной формы хочу написать двойную валидацию.
Первая выводит обычное echo вот в таком виде при нажатии на кнопку "submit"


Вторую я хочу завязать на цветом мгновенном решении.
Задача.
При начале вводе логина цвет иконки остается таким какой он есть при наведении, то есть голубоватый. А далее при каждом введенном символе должна выполняться проверка по следующим правилам
1. от 3 до 16 символов
2. занятость логина в базе данных пользователей сайта

Итог должен быть такой,
что если логин меньше 3, или выше 16, или в базе данных такой пользователь уже есть, то цвет иконки меняется на другой(например красный)
а если логин от 3 до 16 и в базе данных его нет, то иконка становится, например зеленой.

Тоже самое с паролем и повтором пароля.
Возможно ли совмести оба этих способа валидации? Есть ли в объединении смысл? И собственно как сделать второй способ? (первый уже написан и работает)
 Комментарий модератора 
Загружайте картинки на форум! Для этого перейдите в расширенный режим редактора и добавьте вложение (кнопка "скрепка").
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2014, 16:27
Ответы с готовыми решениями:

Изменение цвета SVG иконки при hover
Здравствуйте. Подскажите пожалуйста как сделать подсветку каждого айтема отдельно, при наведении только на него он должен менять цвет, у...

Форма регистрации при загрузке сайта
Всем привет!Подскажите пожалуйста как реализовать с помощью jquery,чтобы во время загрузки сайта,по центру экрана на затемненном...

Изменение цвета при наведении
Чтобы при наведении на ячейки слева менялся цвет ячейки справа. html код написал а вот остальное не получается &lt;html&gt; ...

5
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
08.05.2014, 17:21
И собственно как сделать второй способ?
а в чем собственно трудность?
Начиная с трех символов аякс запрос и в зависимости от результата менять цвет иконки. Или я что-то не понял?
Тоже самое с паролем и повтором пароля.
- это не совсем понятно: Вы собираетесь принудить пользователь иметь уникальные для Вашей базы пароли?
0
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 5
08.05.2014, 17:31  [ТС]
Цитата Сообщение от Svid_off Посмотреть сообщение
а в чем собственно трудность?
трудность в том, что я не программист даже близко)) Начал делать свой сайт. И на банальную форму регистрации убил неделю) Прекрасно понимая, что знающий человек напишет этот код за 10 минут.
Так же и с цветом в формах и запросах, что бы мне написать его самостоятельно я потрачу неделю)) Хотел сэкономить время и обратился сюда за помощью.

Цитата Сообщение от Svid_off Посмотреть сообщение
- это не совсем понятно: Вы собираетесь принудить пользователь иметь уникальные для Вашей базы пароли?
Конечно нет.
Если пароль короче 3 или длиннее 16 символов, иконка красная, если в пределах от 3 до 16, то зеленая.
Собственно повторный пароль будет проверяться лишь по запросу на совпадение.

Если не сложно опишите хотя бы пример запросов на Логин, а уж по аналогии я бы сделал на все поля.
0
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
08.05.2014, 18:09
Если не сложно опишите хотя бы пример запросов на Логин
Не сложно, но сначала покажите имеющийся у Вас код.
а уж по аналогии я бы сделал на все поля.
для других полей (пароли) аякс запросы Вам не нужны.
Чтобы Вам помочь нужно знать, что из себя представляет Ваш сайт.

По поводу примера запроса на существующий логин. Предполагаю, что у Вас на сервере где-то в БД хранится таблица, скажем 'users', в которой есть поле скажем 'login'. Вам нужно проверить введенный пользователем текст в поле логин на соответствие записям в этой таблице. Предполагаю, что Вы используете в качестве серверного языка php и скажем, у Вас есть некий файл backend.php, который обрабатывает аякс-запросы. Тогда пример запроса может выглядеть так:
JavaScript
1
2
3
4
5
$.post( "backend.php",{action:"check_login", login: "введенный пользователем фрагмент логина"}, function (data){
        if(data.repeat == 1){
        //меняем цвет иконки на красный
           }                                
       }, 'json');
Этот запрос должен быть внутри обработчика события, который у Вас проверяет введенные данные.
Ну, а на серверной стороне в backend.php Вы должны обработать post запрос ($_POST['action']='check_login'), принять и проверить фрагмент логина, сделать запрос с БД на соответствие, вернуть результат (напрмер, 1 - если такой логин уже есть в БД). Это если в самых-самых общих чертах
0
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 5
12.05.2014, 11:52  [ТС]
Svid_off,
Цитата Сообщение от Svid_off Посмотреть сообщение
но сначала покажите имеющийся у Вас код
Давайте я попробую описать ситуацию полностью, возможно у меня даже не все файлы нужные для создания имеются. И так.
Совершенно верно сайт пишу в php и html, так как более доступное для не понимающего в программировании человека))
У меня есть верстка нескольких страниц сайта в .html. Сейчас по мере наполнения этих страниц функциями (например регистрация), они переходят в .php.
Я сразу загружаю всё на хостинг, так что с формой можно ознакомиться прямо на сайте http://annsputnik.ru/lcreg.php
На данный момент готова только форма регистрации в php, к авторизации пока не переходил.

Цитата Сообщение от Svid_off Посмотреть сообщение
Предполагаю, что у Вас на сервере где-то в БД хранится таблица, скажем 'users', в которой есть поле скажем 'login'.
Совершенно верно в БД создана таблица с таким именем и полями Login Password и Date

код на странице до <!DOCTYPE...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
    if (isset($_POST['submit'])) {
        $login = htmlspecialchars($_POST['login']);
        $password = htmlspecialchars($_POST['password']);
        $r_password = htmlspecialchars($_POST['r_password']);
        $bad = false;
        session_start();
        unset($_SESSION['error_login']);
        unset($_SESSION['error_password']);
        unset($_SESSION['error_r_password']);
        unset($_SESSION['reg_success']);
        if ((strlen($login) < 3) || (strlen($login) >16)) {
            $_SESSION['error_login'] = 1;
            $bad = true;
        }
        if ((strlen($password) < 3) || (strlen($password) >16)) {
            $_SESSION['error_password'] = 1;
            $bad = true;
        }
        if ($_POST["password"] != $_POST["r_password"]) {
        $_SESSION['error_r_password'] = 1;
            $bad = true;
        }
        if (!$bad) {
            $mysqli = new mysqli("", "", "", "");
            $password = md5($password);
            $mysqli->query("INSERT INTO users (`login`, `password`) VALUES ('$login', '$password')");
            $mysqli->close();
            $_SESSION['reg_success'] = 1;
            header("Location: #");
        }
    }
?>
Код формы
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form class="form-2" action="" method="post" id="login_reg">
<p class="field">
<input type="text" name="login" placeholder="Логин" required>
<i class="icon-user icon-large"></i>
</p>
<p class="field">
<input type="password" class="password" name="password" placeholder="Введите пароль" required>
<i class="icon-lock icon-large"></i>
</p>
<p class="field_r">
<input type="password" name="r_password" placeholder="Провторите пароль" required>
<i class="icon-lock icon-large"></i>
</p>
<p class="submit">
<button type="submit" name="submit"><i class="icon-arrow-right icon-large"></i></button>
</p>
</form>
Цитата Сообщение от Svid_off Посмотреть сообщение
у Вас есть некий файл backend.php, который обрабатывает аякс-запросы.
Цитата Сообщение от Svid_off Посмотреть сообщение
Ну, а на серверной стороне в backend.php Вы должны обработать post запрос
Вот тут хотелось бы поподробнее, так как такого файла у меня нет. Для чего он нужен, что в нем должно быть вообще, ведь он наверняка будет использоваться не только для формы, но и для всего сайта вообще.
0
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
12.05.2014, 18:16
У Вас сделана проверка пароля (и его повтора) пользователя на сервере:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
        if ((strlen($login) < 3) || (strlen($login) >16)) {
            $_SESSION['error_login'] = 1;
            $bad = true;
        }
        if ((strlen($password) < 3) || (strlen($password) >16)) {
            $_SESSION['error_password'] = 1;
            $bad = true;
        }
        if ($_POST["password"] != $_POST["r_password"]) {
        $_SESSION['error_r_password'] = 1;
            $bad = true;
        }
то есть, уже после того, как пользователь отослал форму.
Теперь Вам нужно организовать проверку на стороне клиента, по результатам которой Вы и будите менять цвет иконки. А в случае с логином нужен еще и, как я уже писал, аякс запрос к серверу - чтобы проверить: есть ли такой логин в БД.
Файл backend.php (или любой на Ваше усмотрение) нужен Вам для обработки аякс-запросов.

Проверка на стороне клиента в общем виде будет выглядеть так: Вы вешаете на событие регистрационной формы (или её элемента) обработчик, в котором получаете введенное пользователем значение, проверяете его и в зависимости от проверки меняете или нет цвет иконки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2014, 18:16
Помогаю со студенческими работами здесь

Изменение цвета иконки при наведении
Подскажите, какими наиболее лучшими способами (по кросс-браузерности и кросс-платформенности) решить следующую задачу: имеется картинка на...

Yii+Bootstrap форма входа, вид сообщения при валидации
Подскажите, пожалуйста, как сделать чтобы при валидации стандартной формы логина, при наличии ошибок во введенных данных отображать...

Смена цвета иконки при наведении, Font Awesome
В общем такая ситуация. Использую иконки font awesome и для них применяется анимация :hover с заменой цвета, но вся проблема в том, что эта...

Форма добавления аватара при регистрации
есть вот такой шаблон http://************/9c8evu (Ремарка: в дизайне указано пусть к фалу в реально жизни такого быть не должно (js не...

QAction, изменение иконки при нажатии
Доброго времени суток. Режим игры(pause/play) определяется переменной в классе GameMap. В MainWindow создается объект класса GameMap....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru