Создание личного кабинета пользователя
Какова будет цена за создание личного кабинета пользователя, следующего характера:
1. Авторизация и регистрация.
2. Кабинет пользователя.
3. Админ панель.
4. Желательное использование bootstrap.
5. Адаптивность под мобильные устройства.
Описание к пунктам:
1. Авторизация и регистрация.
— У каждого пользователя должен быть свой ID.
2. Кабинет пользователя:
В профиле пользователя должны быть следующие данные:
— Иконка профиля (фото) (виден всем авторизованным пользователям)
— ФИО (виден всем авторизованным пользователям)
— Баланс (баллы) (виден только пользователю и администратору)
— Умения: (название), (название), (название) (виден всем авторизованным пользователям)
— При регистрации пользователь должен иметь возможность выбрать категорию своего профиля (Профиль 1) или (Профиль 2) эта категория должна отображаться в профиле пользователя.
3. Админ панель:
Администратор должен иметь возможность:
— Изменять иконку (фото) Пользователя.
— Изменять ФИО.
— Изменять Баланс ( количество баллов)
— Изменять Умения.
— Изменять категорию профиля.
— Админ должен иметь возможность вставлять html блок в профиль пользователя, в отдельной вкладке.
— У админа должен вестись лог всех выполненных переводов баллов от ID к ID
— Поиск пользователя по ID
2. Кабинет пользователя.
— Профиль 1 должен иметь возможность переводить баллы Профилю 2.
— У Профиля 2 в кабинете каждый день в 00:00 должно генерироваться новое 4 значное число.
— Профиль 1 должен иметь возможность перевести баллы только зная 4 значное число Профиля 2.
— Переводить баллы возможно только один раз в сутки.
— максимальное число баллов для перевода к примеру (20 баллов)
Какова примерная цена выполнения такой работы?
Как создать личный кабинет, который понравится пользователям

Личный кабинет — это буквально способ взаимодействия с сайтом, а значит, и с вашим сервисом. Поговорим о том, как сделать его удобным для пользователя.
Зачем делать личный кабинет
Личный кабинет на сайте — это раздел, доступный пользователю после авторизации. У пользователя должно быть ощущение «центра управления» сайтом. Когда вы планируете, какие возможности включить в личный кабинет, держите в уме все пользовательские цели, например:
- Посмотреть расписание событий и зарегистрироваться;
- Подключить сервисы и услуги;
- Задать вопрос в чате;
- Проверить баланс счета и бонусов;
- Посмотреть статус и историю заказов.
Чем это удобно компании?
- Собрать данные о пользователе для конкурса;
- Интегрировать внутреннюю CRM, чтобы видеть заказы, оплату, личную информацию;
- Повысить качество обслуживания и лояльность аудитории;
- Общаться с пользователем через еще один канал.

Личный кабинет от Leavingstone для сбора статистики
Баланс удобства и безопасности
Пользователь не понимает, зачем ему регистрация, если не объяснить преимуществ, поэтому регистрацию тоже надо «продать». А также убедить, что его данные в безопасности.
Автор телеграм-канала Про удобство Михаил Греков советует по каждому полю на форме регистрации задавать себе вопрос: нужна ли эта информация именно при регистрации. Кроме того:
- Сделайте все поля обязательными, необязательные все равно никто не заполнит.
- Автоматически логиньте пользователя после завершения регистрации.
- Для рунета: предупредите пользователя, что он указывает пароль кириллицей — наверняка, случайно

-
Форма авторизации на сайте журнала Сноб
Пользовательский путь

Google Cloud: советуют, как сделать сценарий использования аккаунта привычным и безопасным:
- Оставьте возможность сохранять пароли. Они должны храниться в зашифрованном виде с помощью, например, PBKDF2, Argon2, Scrypt, или Bcrypt. Разрешите пользователям использовать любые символы и длину пароля, ведь они защищены криптографией.
- Разрешите авторизацию через соцсети, так вы избавляете пользователя от необходимости запоминать еще один пароль.
- Используйте двухступенчатую верификацию. У подтверждения по SMS много слабостей, но это удобно пользователю и многократно повысит уровень безопасности.
- Разделите концепт авторизации пользователя и личного кабинета. Ваши пользователи — это не имейлы, номера телефонов или ID. Пользователи на сайте — это уникальный набор персональных данных и опыта использования вашего сервиса.
- Разрешите нескольким ID присоединяться к одному личному кабинету. Пользователь, неделю назад заходивший под логином и паролем, может выбрать авторизацию через Google, не понимая, что он создает второй аккаунт.
- Разрешите удалять аккаунт и сопутствующие данные.

Среди хороших примеров пользователи Quora предсказуемо называют Facebook, Google, LinkedIn, Twitter, Invision, а также отмечают удобство аккаунтов платформы для блогов Medium:
- Вход через Facebook или Google автоматически подтягивает аватар из этих аккаунтов;
- Чтобы добавить персональные данные, нужно просто кликнуть на пустое поле и начать печатать — все интуитивно;
- С первой секунды понятно, что нужно делать на этом сайте: писать текст;
- Чистый UI. Пользовательский контент — это главный элемент на странице.
Функциональности

- Утилитарные кабинеты с простыми функциями для рекламных компаний и промомеханик. Взаимодействие с интерфейсом минимальное: нужна возможность принять участие и следить за статусами.
Конечная задача одна: пользователь должен получить приз. Внутри такого личного кабинета не должно быть интерфейса, в идеале только регистрация, поле ввода и одна кнопка. - Сервисные личные кабинеты для крупных проектов, ecommerce. Это рабочий инструмент решения множества задач. После логина доступно больше опций настройки сервисов, в том числе под конкретного пользователя.
Там могут быть функциональности управления услугами, оплаты, бонусной программы. Все функции открываются после регистрации.
Best practice
Личный кабинет как записная книжка, в которой делаются отметки. Фокус в интерфейсе на удобство использования и информационную архитектуру.
Если на продуктовом или промосайте большую роль играет эмоциональное вовлечение, то в персональной зоне этого не бывает. Этот фактор накладывает отпечаток на все: интерфейс, look&feel, структуру меню и страниц кабинета.
Для наших клиентов мы создавали личные кабинеты с разным набором функциональностей: загрузки фото для участия в конкурсе, верификации чеков и промокодов, обмена баллов.
Построение информационной архитектуры начинается с определения аудитории и бизнес-задачи. В результате личный кабинет становится частью будущего продукта. В отдел сферах бизнеса есть необходимость развития сервисов через личные кабинеты.
Так, в банковской сфере бизнес готов вкладывать ресурсы в создание насыщенных интерфейсов и разработку нового функционала, чтобы увеличить время пребывания на сайте и в приложении.

На сайте Alfa Travel пользователь в Личном кабинете узнает баланс накопленных миль и обменивает их на билеты.
Подводим итог

- Личный кабинет пользователя входит в UX-экосистему.
- Интерфейс гораздо более рациональный и менее эмоциональный, чем сайт.
- Акцент на пользовательском взаимодействии и интерфейсных характеристиках продукта.
Личный кабинет для обмена купонами от Rwds
Как сделать личный кабинет на сайте html
В последнее время все чаще и чаще встречаются формы для входа в личный кабинет, название полей которых устанавливается внутри этого поля. При вводе пароля символы скрываются, а вместо них выводятся звездочки или кружочки. рекламное digital агентство полного цикла.
При создании такой формы рекомендую придерживаться нескольким простым требованиям, которые позволят достичь наиболее эффективного результата:
- высокий показатель кроссбраузерности;
- правильно написанный код с точки зрения семантики;
- отсутствие каких-либо конфликтов с запоминалками паролей;
- хорошая читабильность кода.
Решение поставленной задачи с помощью Javascript
Поставленную задачу можно решить с помощью Javascript-кода, причем все установленные требования будут соблюдены.
Начинаем с создания HTML-кода. Для начала хочу Вас ознакомить с особенностями написания HTML, чтобы было понятно что и зачем написано в коде:
- Подписи полей логин и пароль необходимо делать не внутри тега input, а через label. Это будет правильно с точки зрения семантики нашего кода. В тоже время соответствует общепринятым правилам создания форм, что обеспечит легкое понимание кода и простоту его чтения.
- Название наших полей (содержимое label) нужно абсолютным позиционированием установить над самим полем. То есть тег label будет лежать поверх тега input. Таким образом мы экономим место для формы и реализуем одну из поставленных нами задач. Абсолютное позиционирование задается с помощью свойства position и значения absolute для него.
- Воспользуемся событием onfocus, благодаря которому текст названия будет исчезать при наведение на поле.
- Для того, чтобы сохранить адекватность работы с запоминалками полей необходимо наладить их анализ при загрузке. Если поля не пустые, то текст тегов label должен быть удален.
Таким образом, мы подошли непосредственно к самому HTML-коду, который должен выглядеть следующим образом:
form action="#"> fieldset> legend>Вход в личный кабинетlegend> div> label for="siteLogin" class="labelLogin">логинlabel> input name="login" value="" id="siteLogin" type="text" /> div> div> label for="sitePass" class="labelPass">парольlabel> input name="pass" value="" id="sitePass" type="password" /> div> div> input value="Войти" type="submit" /> div> fieldset> form>
Заметка!
Очень важно, чтобы для label был прописан атрибут for, значение которого соответствует идентификатору input. Это позволяет избежать трудоемкой и не нужной процедуры ручного перевода фокуса для конкретного поля.
form div margin: 5px 20px 5px 20px; position: relative; > fieldset border: 1px solid #7caee1; > label position: absolute; top: 3px; left: 6px; color: #818181; > input margin-right: 10px; width: 150px; >
После этого необходимо заняться написанием кода Javascript. Пример приведен на основе фреймворка jQuery, однако не стоит паниковать, так как при желании можно корректировать код в соответствии с другими фреймворками. Для этого не нужно много ума и времени, так как алгоритм действий сохраняется
$(document).ready(function() /*анализ полей на наполненность - нужно для запоминалки поролей*/ if($("#siteLogin").val()!='') $("#siteLogin").prev().text(''); $("#sitePass").prev().text(''); > /*связь события и получение полем фокуса*/ $("div > input").focus( function(e) var clicked = $(e.target), clickedId = clicked.attr("id"); /* удаление текста из label при получении фокуса для поля логина*/ if(clickedId=="siteLogin") clicked.prev().text(''); > /*тоже самое для пароля*/ else if(clickedId=="sitePass") clicked.prev().text(''); > >); /*потеря фокуса полем*/ $("div > input").blur( function(e) var clicked = $(e.target), clickedId = clicked.attr("id"); if(clickedId=="siteLogin") if(clicked.val()=='') clicked.prev().text('логин'); > else if(clickedId=="sitePass") if(clicked.val()=='') clicked.prev().text('пароль'); > >); >);
Единственным недостатком такого решение является то, что применяется Javascript. Существуют еще пути решения данной задачи:
- Добавить динамическое поле пароля с атрибутом type и значением password.
- Изменение подписей с помощью фоновых изображений.
Динамические поля
Суть данного метода заключается в создании двух полей с указанием текстового типа (type=»text»). В этих же полях прописываем атрибут value, значением которого будет название поля. Таким образом, мы получим название поля, которое будет в нем выводиться. Для очищения значения поля используем тот же принцип, что и в первом методе. При назначении фокуса очищаем поле. Для поля пароля необходимо наладить замену текущего типа на password.
Данный метод имеет право на жизнь, но необходимо знать его основные недостатки:
- не соблюдение семантики;
- усложнение записи скрипта;
- осложнение в чтении кода, так как изначально полю пароля присвоен текстовый тип.
Решение на основе фоновых изображений
Принцип работы этого метода полностью идентичен первому способу. Единственное отличие заключается в том. Что вместо тега label используют бекграунд для тега input. Далее алгоритм сохраняется: при получении фокуса свойство background получает значение none.
Этот способ имеет ряд своих недостатков:
- дополнительное обращение к серверу из-за наличия картинки в коде;
- теряется гибкость редактирования, так как для изменения названия необходимо будет создать новое фоновое изображение;
- возможны не соответствия в шрифтах, так как на картинке он будет всегда один и тот же, а система может не распознать используемый шрифт и заменить его на другой.
В каких браузерах работает?
| 6.0+ | 9.5+ | 3.1+ | 2.0+ |
Как создать авторизацию и личный кабинет на сайте?
Я начинающий вэб-разработчик. У меня не получается создать личный кабинет. Если авторизация хоть и небольшая уже есть(При переходе на другую страницу сессия пропадает), то личный кабинет у меня не получается сделать. Я обрыл пол интернета, но ничего не нашел. Я не прошу сделать все за меня. Покидайте ресурсов, где можно научится этому.
- Вопрос задан более трёх лет назад
- 13414 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 3
xmoonlight @xmoonlight
https://sitecoder.blogspot.com
session_start();
в начале каждой страницы в ЛК должно присутствовать, чтобы получить доступ к чтению значений переменных сессии.
Ответ написан более трёх лет назад
Нравится 1 2 комментария
Helig @Helig Автор вопроса
Это все есть, но пропадают значения. Сессия то работает, а вот взаимодействовать с ней больше нельзя.
xmoonlight @xmoonlight
Helig, значит куки в браузере не сохраняются.

nepster-web @nepster-web
Посмотрите в сторону frameworks. Есть много видео курсов на youtube которые решают вашу проблему.
https://www.youtube.com/watch?v=3hSJLgRvn-E
Но лучше, читайте книги и изучайте детальнее язык программирования, чтобы иметь больше понимания. Не торопитесь делать проекты.
Ответ написан более трёх лет назад
Helig @Helig Автор вопроса
У меня просто скоро конкурс по вэб-разработке среди школьников, я уже все продумал кроме этого(((( Все готово кроме регистрации и т.д.