Меню Закрыть

Как провести регистрацию на сайте

Содержание

Мы уже писали, что такое электронная почта и выяснили, что её основная задача — получать письма. Не только от друзей, знакомых и коллег, но и писем-подтверждений от разных сайтов для продолжения регистрации. Давайте разбираться подробнее, что это за регистрация и зачем она нужна.

Что такое регистрация на сайте

Регистрация на сайте — это передача своих данных для получения доступа ко всем возможностям сайта. Эти возможности могут быть разными:

  1. оставление комментариев
  2. доступ к файлам
  3. возможность покупки товаров
  4. подписка на конкретные темы

и многое другое!

Какие данные необходимы для регистрации на сайте

Не стоит переживать и пугаться, обычные сайты не требуют личной информации. Большинству хватит e-mail, логина и пароля. Иногда потребуется ввести код с картинки, чтобы показать, что вы не программа, а человек. Такая картинка называется капча. Регистрация выглядит примерно так: E-mail адрес нужен для того, чтобы подтвердить, что зарегистрировались именно вы, а не злоумышленник: на указанный адрес шлется письмо со ссылкой. Откройте почту и перейдите по ссылке в письме.

Логин — это ваше имя на сайте. Пишется на латинице и должно быть уникально на этом ресурсе. Если кто-то уже зарегистрировался с этим логином, придется придумывать другой.

Пароль — придуманный вами шифр, который вы будете вводить при входе на сайт. Придумывайте надежный пароль, который состоит из букв и цифр. Никогда не используйте в качестве пароля дату рождения или номер телефона. Попробуйте выбрать осмысленный пароль, который сложно забыть. Например, напишите забавное слово или фразу на английском, разбавьте символами и цифрами например, «Em-k0Lbasu» .

Капча — маленький тест для определения человек ли вы или компьютер. Существуют программы, которые имитируют действия пользователя, например, регистрируются на сайтах и оставляют комментарии с рекламой, то есть спам. Чтобы предотвратить подобные атаки, вводят капчу, которая обычно состоит из фотографии с искаженным текстом, его-то и надо ввести

Это основные поля, которые необходимо заполнить. Однако, существует и другая категория сайтов, которая действительно просит указать личную информацию, например, номер телефона или ИНН. Но об этом чуть ниже.

Что такое авторизация и профиль на сайте учетная запись аккаунт

Когда вы зарегистрировались на сайте и подтвердили эту регистрацию, перейдя по ссылке на электронной почте, сайт создает отдельную страничку специально для вас. На ней будет собираться история действий на этом ресурсе: например, комментарии; отложенные товары для покупки или письма, которые вы отправляли и получали.

Чтобы войти под своей учетной записью, необходимо авторизоваться, то есть войти на сайт, указав свой логин и пароль. Обычно авторизация и состоит только из этих двух полей:

Личная информация на сайтах

Выше мы перечислили основные данные, которые просят указать более 90% сайтов при регистрации: логин, пароль, адрес электронной почты. Но далеко не всегда дело ограничивается ими, случается, что собирают действительно важную личную информацию, например, запрашивают номер телефона. Что делать тогда, честно давать такие данные или закрывать вкладку браузера?

Вот тут тонкая грань, будьте бдительными. Есть потенциально опасные сайты, которые могут использовать информацию в своих корыстных целях, но есть и крупные сервисы с высоким рейтингом, которые используют дополнительные сведения (такие как номер телефона) для усиления защиты ваших аккаунтов. Например, yandex.ru просит указать свой номер или вконтакте.

Сначала могут полезть в голову тревожные мысли: как же так, вносить данные о себе, которые будут отображаться в интернете, мне это не нравится! Вот тут вступает в силу политика конфиденциальности, что ваши данные не будут отображаться нигде, пока вы сами этого не разрешите.

Однако помните, что у сайта должны быть веские причины, чтобы запрашивать подобную информацию. Одно дело, если это крупнейшая социальная сеть или один из ведущих почтовых сервисов, другое — когда непонятный новостной сайт просит указать номер паспорта и телефона.

Если вы доверяете сервису и знаете, что он надежен, то не стоит волноваться зря за свои данные. Ни на что вас не подпишут, денег не снимут и никто не собирается вычислять по номеру в реальной жизни.

Когда возникают сомнения, попробуйте «погуглить», то есть поискать в интернете, есть ли обманутые люди. Важно вводить в поисковую строку ключевые слова, например «сайт воришка.ру номер телефона обман» и уже в найденных результатах смотреть с какими проблемами сталкиваются люди.

Где искать кнопку регистрации на сайте

Стоит отметить, что не везде есть регистрация, но если такая функция существует, то чаще всего для неё будет отдельная кнопка-ссылка в шапке сайта. Типичный пример — webmoney, в верхней части логотип, меню, поиск, кнопки для регистрации (новым пользователям) и входа (для тех, кто уже регистрировался)

Что делать, если есть кнопка «войти», но нет кнопки «регистрация»

Допустим, вы хотите завести почту на рамблере, заходите туда, но не видите кнопки регистрации, только кнопку «войти», где же кнопка регистрации?

Дело в том, что разработчики намеренно скрывают часть элементов: чем их меньше странице, тем она опрятнее и чище. Прячут они их не хаотично, а в похожие по смыслу группы. Это может быть отдельная кнопка «личный кабинет» и уже внутри будут ссылки на регистрацию и авторизацию

А может быть, как в случае с рамблером, ссылка внутри кнопки «войти»

  1. регистрация нужна для получения всех «плюшек» сайтов;
  2. для регистрации нужно придумать уникальный логин, который еще не зарегистрирован на сайте, а так же пароль и адрес почты. Кроме тех случаев, когда вы регистрируете саму почту;
  3. после регистрации на сайте создается ваш персональный аккаунт или учетная запись или профиль (синонимы);
  4. капча — тест, который доказывает, что вы не робот, то есть можете прочитать искаженный текст;
  5. некоторые сайты запрашивают личную информацию, такую, как номер телефона. Нужно быть внимательным, не указывать её везде, но и не пугаться, далеко не всегда это происки мошенников;
  6. кнопка авторизации часто прячется в кнопке «войти»

Привлечение целевого трафика, возможность получать покупателей при помощи рассылок, возврат клиента на сайт — вся эта красотища возможна в том случае, если на ваш интернет-магазин подписано как можно больше пользователей. Но для того чтобы все это заполучить, нужно постараться и сделать так, чтобы человек прошел регистрацию. Сегодняшний материал — как раз об этом.

Какие преимущества дают вам зарегистрированные пользователи

Регистрация на сайте — это целевое (конверсионное) действие. Клиент, попавший в вашу базу, априори не может быть холодным. Он находится где-то в середине воронки продаж. А самое главное — к такому покупателю в любое время можно обратиться по доступным каналам связи. Это дает массу возможностей:

  • приток целевого трафика. Если человек пришел на сайт из рассылки, значит, предложение его заинтересовало и он с большой долей вероятности может совершить покупку;
  • постоянное напоминание о себе. После единичной сделки покупатель обычно забывает об интернет-магазине, где он приобрел товар. Бывает такое, что человеку очень понравилось обслуживание и качество товара и он купил бы там еще, но, хоть убей, не может вспомнить название магазина. Рассылка полностью исключает такие ситуации;
  • вирусное распространение предложений. Если грамотно работать с рассылками, можно привлекать еще больше клиентов. Пример для подражания — небезызвестный сайт бронирования отелей Booking.com. Ресурс рассылает зарегистрированным пользователям предложения со ссылкой, которую можно отправить другу или знакомому. Если тот проходит по ней и совершает целевое действие — оба получают скидки или бонусы;
  • статус. Сайт с большой базой зарегистрированных пользователей — это круто. Всегда можно упомянуть об этом в рекламе, соцсетях и других каналах. “Нас уже 10 000” — это звучит гордо! На это клюют и другие клиенты, и партнеры с рекламодателями. Степень доверия и лояльность к такому ресурсу значительно повышается;
  • повышение ранжирования поисковыми системами. Возможно, прямой зависимости здесь и не существует, но сама процедура регистрации сильно улучшает поведенческие факторы, которые и оценивают поисковики. Человек совершает сразу несколько целевых действий с большим количеством кликов и переходов — эти вещи как раз и отслеживают поисковые роботы.

Способы побудить посетителя сайта пройти регистрацию

Для того, чтобы клиент зарегистрировался на сайте, его надо заинтересовать. Мы не сторонники такого подхода, когда покупатель может что-то купить лишь после того, как зарегистрируется. Во-первых, человеку всегда нужно давать выбор. Регистрироваться или нет — это должно быть правом, а не обязанностью. Во-вторых, немалое количество интернет-пользователей, регулярно совершающих покупки в сети, принципиально ищут интернет-магазины, где можно сделать это не регистрируясь. Сделаете регистрацию обязательной — потеряете эту аудиторию. А она, прямо скажем, немаленькая.

Читайте также:  Могучие рейнджеры космический патруль

Способ заинтересовать человека прост как мир: нужно дать понять, что это дает привилегии. Приведем несколько рабочих примеров:

1. Скидки. Это первое что приходит на ум, и неспроста. Деньги — один из самых мощных мотиваторов в мире. Если предложить посетителю сайта пройти регистрацию в обмен на скидку — он, скорее всего, согласится. Да, вы понесете определенные маркетинговые потери, но со временем они с лихвой окупятся. Стесняться тут нечего: прямо предложите клиенту скидку — допустим, 10 процентов на первую покупку за регистрацию.

2. Бесплатные услуги. Тоже вариация на тему “Зарегистрировался — значит сэкономил”. Только вместо скидки на этот раз выступают различные второстепенные услуги: бесплатная доставка, сборка мебели, настройка техники или установка программного обеспечения.

3. Зарегистрированный пользователь раньше других получает свежую информацию. Нужно дать подписчику понять, что если он зарегистрируется, то первым будет оповещен о грядущих акциях, спецпредложениях и других бонусах. Если у вас есть блог — клиент будет получать свежие статьи на интересующие его темы.

4. Бонусная программа. Все зарегистрированные пользователи могут экономить не только при самой регистрации, но и в дальнейшем. Хороший вариант — сделать накопительную программу: чем больше покупок человек сделал в вашем магазине, тем больше у него бонусных баллов. Бонусы можно начислять не только за покупки, а, например, в день рождения, по истечении какого-то срока (вы полгода с нами — вот вам 100 баллов) и так далее.

5. Полезная информация. Это один из элементов контент-маркетинга, только в этом случае клиент получает информацию не на сайте, а из рассылки. Можно высылать материалы о новых товарах, новостях мира моды и другой полезный контент. Главное — настроить рассылку на целевую аудиторию: стритрейсер, заказывающий у вас элементы тюнинга авто, не должен получить новости для мамочек в декрете.

6. Розыгрыши и конкурсы. Формат такой: “Зарегистрируйся сейчас и прими участие в розыгрыше ценного приза!”. Думаете, это уже не работает? Очень даже зря. Главное — правильно преподнести конкурс и отчитаться об итогах его проведения: разместить на сайте довольне фото победителей с призами в руках, намекнуть на следующий конкурс и так далее. В дальнейшем розыгрыши можно проводить и среди зарегистрированных участников — необязательно делать это только при первичной регистрации.

7. Сделайте платное бесплатным. Нужно дать пользователю понять, что зарегистрировавшись, он получит преимущества перед анонимными покупателями. Например, подписчики имеют право бесплатно скачивать приложения, посещать семинары, безвозмездно получать информацию из платных подписок.

8. Право оставлять комментарии и отзывы. Вообще здесь есть тонкая грань, и вот какая. По большому счету, отзывы (в особенности, положительные) нужны больше вам, а не покупателю. А тут получается, что мы чиним ему препятствия для размещения отзыва в виде регистрации. Но в конечном итоге это дисциплинирует подписчиков и является страховкой от случайных комментаторов. Главное — сделать регистрацию максимально простой и удобной. Об этом — следующий раздел нашей статьи.

Какой должна быть процедура регистрации, чтобы не оттолкнуть пользователя

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

Дайте пользователю выбор

Как мы уже писали, не стоит делать регистрацию в формате ультиматума: не зареган — не закажешь. Просто распишите преимущества подписки на сайт и дайте человеку определиться, заполнять форму или нет. Технически это должно выглядеть так. На каком-то этапе покупки человеку дается выбор между двумя вариантами: купить без регистрации или зарегистрироваться и получить бонусы. Ходить вокруг да около не надо, действуем прямо. Напишите 2 пункта:

  • оформить покупку без регистрации;
  • зарегистрироваться и купить товар со скидкой 10%.

Не нужно быть маркетологом, чтобы понять, что выберет среднестатистический покупатель. Откажутся от регистрации в этом случае только те, кто до сих пор видит во всем этом подвох. Но такие, как правило, не делают покупки в интернет-магазинах а приобретают товар у оффлайн-продавцов.

Сделайте регистрацию максимально простой

Допустим, вам удалось убедить пользователя пройти регистрацию на вашем сайте. Ура, вы справились! Главное теперь — не спугнуть удачу. Сделать это очень просто: если человек увидит форму во весь экран с десятком обязательных для заполнения полей (с красными звездочками, ага), то будьте уверены: ничего заполнять он не станет. А может быть и вообще покинет сайт, бросив корзину и не купив то, что собирался.

Именно поэтому регистрация должна быть максимально простой и естественной. Идеальный вариант, ставший доступен какое-то время назад — регистрация через соцсети. Здесь все просто: человеку не нужно ничего вводить или заполнять — он просто входит в личный кабинет, используя учетные данные из аккаунтов Google, Facebook или “ВКонтакте”. Оставлять электронку или номер телефона неохота да и некогда, а тут вроде все происходит само собой.

Еще одна боль всех пользователей — это капча. Использовать ее обязательно — это залог вашей безопасности. Однако капча капче рознь. Если пользователю нужно вглядываться в экран, пытаясь разгадать тайный смысл каких-то иероглифов — с третьей неудачной попытки он бросит эту затею. Делайте символы максимально читабельными и простыми — это раздражает куда меньше. Или вообще сделайте капчу в виде картинок или пазла. Для того, чтобы отсеять роботов этого достаточно, а человеку можно всерьез облегчить жизнь, что в итоге сыграет в вашу же пользу.

Завуалируйте регистрацию

Можно рубить напрямую и предложить зарегистрироваться. А можно поступить креативнее и использовать другие термины. Какие? Тут можно использовать всю вашу фантазию. “Присоединиться”, “Стать участником закрытого клуба”, “Вступить” — все, что угодно.

Здесь вы используете тонкий психологический момент. К самому понятию регистрации у пользователей могут быть предубеждения, мол, начнут спамить на почту, замучают своими рассылками и так далее. Толи дело вступить в ряды избранных. Каждый захочет стать тем самым избранным и с большей долей вероятности пройдет процедуру.

Дайте человеку понять, что регистрация — это только начало

И регистрируясь, он вступает на путь получения выгод и привилегий. Здесь нужно разработать комплексный подход к работе с покупателями в целом. Он должен заключаться в программы лояльности, внедрения системы скидок и спецпредложений. Но суть остается такой: чем дольше человек с вами, тем это выгоднее для него самого.

Назовем это иерархией зарегистрированных пользователей. Вступив в ряды подписчиков и совершив первую покупку, клиент оказывается на нижней ступени лестницы и получает базовые условия. Например, условную скидку. Когда после регистрации проходит, например, год, клиент переходит на следующий уровень, где скидки больше. Для этого в течение этого года нужно совершить покупок на определенную сумму.

После нескольких лет постоянных покупок клиент получает VIP-статус с максимальными скидками и привилегиями.

Это заинтересует потенциального покупателя не только зарегистрироваться, но и оставаться с вами и совершать покупки в дальнейшем. Вам останется только грамотно подогревать интерес при помощи рассылок. Не просто “Вы получили 200 бонусных баллов ко дню рождения” а “Мы поздравляем вас с днем рождения и дарим 200 баллов на счет. Если вы потратите их в течение 10 дней, то получите статус серебряного клиента, а это значит, что скидки станут еще больше! Ваш промокод — 12345.”

После регистрации клиента нужно удержать

Есть несколько проверенных способов сделать так, чтобы через пару дней покупатель отписался от рассылки и закрыл регистрацию. Ловите вредные советы — они помогут вам ускорить этот процесс:

  • как можно больше спама. Шлите покупателю что попало: пожелания доброго утра, дня и вечера, фото котиков и прогноз погоды. И побольше, желательно несколько раз в день. Будьте уверены: после нескольких уведомлений от вас отпишутся;
  • не учитывайте целевую аудиторию. Рассылайте одно и тоже всем подряд, вне зависимости от того, какие покупки совершал конкретный клиент. Отписки гарантированы;
  • выберите панибратский тон рассылок и позвольте себе вольности. Обращайтесь к подписчикам на “ты”, отпускайте в письмах неуместные шуточки и сортирный юмор. Это тоже верный способ потерять подписчиков.
Читайте также:  Как отправить бесплатные подарки в одноклассниках

На этой веселой ноте мы заканчиваем нашу статью. Никогда не пользуйтесь вредными советами, а вот все остальное внимательно изучайте и внедряйте в работу. Успехов!

В этой статье вы узнаете, как создать форму регистрации и авторизации, используя HTML, JavaScript, PHP и MySql. Такие формы используются почти на каждом сайте, в независимости от его типа. Они создаются и для форума, и для интернет-магазина и для социальных сетей (такие как например Facebook, Twiter, Odnoklassniki) и для многих других типов сайтов.

Если у Вас сайт на локальном компьютере, то я надеюсь, что у Вас уже установлен и запущен локальный сервер. Без него ничего работать не будет.

Создание таблицы в Базе Данных

Для того чтобы реализовать регистрацию пользователей, в первую очередь нам нужна База Данных. Если она у Вас уже есть, то замечательно, иначе, Вам нужно её создавать. В статье Создание базы данных mysql в phpmyadmin, я подробно объясняю, как сделать это.

И так, у нас есть База Данных (сокращённо БД), теперь нам нужно создать таблицу users в которой будем добавлять наших зарегистрированных пользователей.

Как создавать таблицу в БД, я также объяснил в статье Создание базы данных mysql в phpmyadmin. Перед тем как создать таблицу, нам необходимо определить какие поля она будет содержать. Эти поля будут соответствовать полям из формы регистрации.

Значит, подумали, представили какие поля будут у нашей формы и создаём таблицу users с такими полями:

Все поля типа “VARCHAR” должны иметь значение по умолчанию NULL.

Если Вы хотите чтобы Ваша форма регистрации имела ещё какие-то поля, то Вы можете их здесь также добавить.

Всё, наша таблица users готова. Переходим к следующему этапу.

Подключение к Базе Данных

Базу данных мы создали, теперь необходимо к ней подключиться. Подключение будем осуществлять с помощью PHP расширения MySQLi.

В папке нашего сайта, создаём файл с именем dbconnect.php, и в нём пишем следующий скрипт:

Этот файл dbconnect.php нужно будет подключить к обработчикам форм.

Обратите внимание на переменную $address_site, здесь я указал название моего тестового сайта, над которым буду работать. Вы соответственно, укажите название Вашего сайта.

Структура сайта

Теперь давайте разберёмся с HTML структурой нашего сайта.

Шапку и подвал сайта вынесем в отдельные файлы, header.php и footer.php. Их будем подключать на всех страницах. А именно на главной (файл index.php), на страницу с формой регистрации (файл form_register.php) и на страницу с формой авторизации (файл form_auth.php).

Блок с нашими ссылками, регистрация и авторизация, добавим в шапку сайта, чтобы они отображались на всех страницах. Одна ссылка будет ввести на страницу с формой регистрации (файл form_register.php) а другая на страницу с формой авторизации (файл form_auth.php).

Содержимое файла header.php:

Содержимое файла footer.php:

Подключение файлов header.php и footer.php будем делать с помощью функции require_once("путь_к_файлу").

И так, давайте подключим эти файлы к главному файлу нашего сайта index.php.

Для оформления вида страницы, в шапке (файл header.php) подключили файл стилей css/styles.css. Код данного файла сейчас нас не особо интересует, поэтому нет смысла его здесь показывать. Вы сможете увидеть его открыв этот файл css/styles.css, из архива с материалами данной статьи.

В итоге, главная страница, у нас выглядит так:

Конечно, у Вас на сайте может быть совсем другая структура, но это для нас сейчас не важно. Главное, чтобы присутствовали ссылки (кнопки) регистрации и авторизации.

Форма регистрации

Теперь перейдём к форме регистрации. Как Вы уже поняли, она у нас находится в файле form_register.php.

Идём в Базу Данных (в phpMyAdmin), открываем структуру таблицы users и смотрим какие поля нам нужны. Значит, нам нужны поля для ввода имени и фамилии, поле для ввода почтового адреса(Email) и поле для ввода пароля. И ещё в целях безопасности добавим поле для ввода капчи.

На сервере, в результате обработки формы регистрации, могут возникнуть различные ошибки, из-за которых пользователь не сможет зарегистрироваться. Поэтому для того чтобы пользователь понимал почему не проходит регистрация, необходимо вывести ему сообщения об этих ошибках.

Перед выводом формы добавляем блок для вывода сообщений об ошибках из сессии.

И ещё момент, если пользователь уже авторизован, и он ради интереса заходит на страницу регистрации напрямую, написав в адресную строку браузера адрес_сайта/form_register.php, то мы в этом случае вместо формы регистрации, выведем ему заголовок о том, что он уже зарегистрирован.

В общем, код файла form_register.php у нас получился таким:

В браузере, страница с формой регистрации выглядит так:

С помощью атрибута required, мы сделали все поля обязательными к заполнению.

Обратите внимание на код формы регистрации где выводится капча:

Мы в значение атрибута src для изображения, указали путь к файлу captcha.php, который генерирует данную капчу.

Посмотрим на код файла captcha.php:

Код хорошо закомментирован, поэтому я остановлюсь только на одном моменте.

Внутри функции imageTtfText(), указан путь к шрифту verdana.ttf. Так вот для корректной работы капчи, мы должны создать папку fonts, и поместить туда файл шрифта verdana.ttf. Его Вы можете найти и скачать из интернета, или взять из архива с материалами данной статьи.

С HTML структурой мы закончили, пора двигаться дальше.

Проверка email на валидность с помощью jQuery

Любая форма нуждается в проверки на валидность введённых данных, как на стороне клиента ( с помощью JavaScript, jQuery), так и на стороне сервера.

Особенную внимательность мы должны уделить полю Email. Очень важно чтобы введённый почтовый адрес был валидным.

Для данного поля input, мы задали тип email ( type="email" ), это нас немножко предостерегает от неправильных форматов. Но, этого недостаточно, потому что через инспектор кода, которого предоставляет нам браузер, можно легко изменить значение атрибута type с email на text, и всё, наша проверка будет уже недействительна.

И в таком случае, мы должны сделать более надёжную проверку. Для этого, воспользуемся библиотекой jQuery от JavaScript.

Для подключения библиотеки jQuery, в файле header.php между тегами , перед закрывающего тега , добавляем эту строчку:

Сразу после этой строчки, добавим код проверки валидации email. Здесь же добавим код проверки длины введённого пароля. Его длина должна быть не меньше 6 символов.

С помощью данного скрипта, мы проверяем введённого почтового адреса на валидность. Если пользователь ввёл неправильный Email, то мы выводим ему ошибку об этом и дезактивируем кнопку отправки формы. Если всё хорошо, то мы убираем ошибку и активируем кнопку отправки формы.

И так, с проверкой формы на клиентской части мы закончили. Теперь мы можем отправить её на сервер, где также сделаем пару проверок и добавим данные в БД.

Регистрация пользователя

Форму мы отправляем на обработку файлу register.php, через метод POST. Название данного файла обработчика, указано в значение атрибута action. А метод отправки указано в значение атрибута method.

Открываем этот файл register.php и первое что нам нужно сделать, это написать функцию запуска сессии и подключить созданный нами ранее файл dbconnect.php (В этом файле мы сделали подключение к БД). И ещё, сразу объявим ячейки error_messages и success_messages в глобальном массиве сессии. В error_mesages будем записывать все сообщения об ошибках возникающие при обработке формы, а в succes_messages, будем записывать радостные сообщения.

Перед тем как продолжить, мы должны проверить, была ли вообще отправлена форма. Злоумышленник, может посмотреть на значение атрибута action из формы, и узнать какой файл занимается обработкой данной формы. И ему может прийти в голову мысль перейти напрямую в этот файл, набирая в адресной строке браузера такой адрес: http://арес_сайта/register.php

Поэтому нам нужно проверить наличие ячейки в глобальном массиве POST, имя которой соответствует имени нашей кнопки "Зарегистрироваться" из формы. Таким образом мы проверяем была ли нажата кнопка "Зарегистрироваться" или нет.

Если злоумышленник попытается перейти напрямую в этот файл, то он получить сообщение об ошибке. Напоминаю, что переменная $address_site содержит название сайта и оно было объявлено в файле dbconnect.php.

Далее, нам необходимо проверить введённую капчу. То есть сравнивать полученное значение от пользователя со значением которая есть в сессии.

Читайте также:  Как правильно написать письмо на электронную почту

Значение капчи в сессии было добавлено при её генерации, в файле captcha.php. Для напоминания покажу ещё раз этот кусок кода из файла captcha.php, где добавляется значение капчи в сессию:

Теперь приступим к самой проверке. В файле register.php, внутри блока if, где проверяем была ли нажата кнопка "Зарегистрироваться", а точнее где указан комментарий " // (1) Место для следующего куска кода" пишем:

Далее, нам нужно обрабатывать полученные данные, из массива POST. Первым делом, нам нужно проверить содержимое глобального массива POST, то есть находится ли там ячейки, имена которых соответствуют именам полей input из нашей формы.

Если ячейка существует, то обрезаем пробелы с начала и с конца строки из этой ячейки, иначе, перенаправляем пользователя обратно на страницу с формой регистрации.

Далее, после того как обрезали пробелы, добавляем строку в переменную и проверяем эту переменную на пустоту, если она не является пустой, то идём дальше, иначе перенаправляем пользователя обратно на страницу с формой регистрации.

Этот код вставляем в указанное место "// (2) Место для следующего куска кода".

Особенную важность имеет поле email. Мы должны проверить формат полученного почтового адреса и его уникальность в БД. То есть не зарегистрирован ли уже какой-то пользователь с таким же почтовым адресом.

В указанном месте "// (3) Место кода для проверки формата почтового адреса и его уникальности" добавляем следующий код:

И так, мы закончили со всеми проверками, пора добавить пользователя в БД. В указанном месте " // (4) Место для кода добавления пользователя в БД " добавляем следующий код:

Если в запросе на добавления пользователя в БД произошла ошибка, мы добавляем сообщение об этой ошибке в сессию и возвращаем пользователя на страницу регистрации.

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

С регистрацией мы закончили. Двигаемся дальше.

Форма авторизации

Форма авторизации находится у нас в файле form_auth.php. Она имеет поля для ввода почтового адреса, пароля и капчи.

Скрипт для проверки формата почтового адреса и длины пароля находится в файле header.php, поэтому он будет действовать и на поля из этой формы.

Запуск сессии также происходит в файле header.php, поэтому в файле form_auth.php сессию запускать не нужно, потому что получим ошибку.

Код формы авторизации ( файл form_auth.php ):

В браузере, форма авторизации выглядит следующем образом:

Как я уже сказал, скрипт проверки формата почтового адреса и длины пароля здесь также действует. Поэтому если пользователь введёт неправильный почтовый адрес или короткий пароль, то он сразу же получить сообщение об ошибке. А кнопка войти станет не активной.

После устранения ошибок кнопка войти становится активной, и пользователь сможет отправить форму на сервер, где она будет обрабатываться.

Авторизация пользователя

В значение атрибута action у форы авторизации указан файл auth.php, это значит, что форма будет обрабатываться именно в этом файле.

И так, открываем файл auth.php и пишем код для обработки формы авторизации. Первое что нужно сделать это запустить сессию и подключить файл dbconnect.php для соединения с БД.

Дальше нам нужно объявить ячейки для хранения сообщений в глобальном массиве $_SESSION.

Дальше нам нужно проверить была ли нажата кнопка отправки формы (кнопка войти). То есть проверяем не зашёл ли злоумышленник напрямую в файл auth.php.

Дальше, в указанное место "//(1) Место для следующего куска кода", пишем код для проверки капчи.

Если пользователь ввёл проверочный код правильно, то идём дальше, иначе возвращаем его на страницу авторизации.

Проверка почтового адреса

Дальше, проверяем формат полученного почтового адреса. В указанное место "//(2) Место для обработки почтового адреса" пишем:

Если пользователь ввёл почтовый адрес в неправильном формате или значение поля почтового адреса является пустой, то мы возвращаем его на страницу авторизации где выводим ему сообщение об этом.

Проверка пароля

Следующее поле для обработки, это поле с паролем. В указанное место "//(3) Место для обработки пароля", пишем:

Здесь мы с помощью функции md5() шифруем полученный пароль, так как в БД пароли у нас находятся именно в зашифрованном виде. Дополнительное секретное слово в шифровании, в нашем случае "top_secret" должна быть та которая использовалась и при регистрации пользователя.

Теперь необходимо сделать запрос к БД на выборке пользователя у которого почтовый адрес равен полученному почтовому адресу и пароль равен полученному паролю.

Выход с сайта

И последнее что мы реализуем, это процедура выхода с сайта. На данный момент в шапке у нас выводятся ссылки на страницу авторизации и на страницу регистрации.

После того как пользователь прошёл авторизацию успешно, необходимо убрать эти ссылки и вместо них вывести ссылку выхода с сайта. Эта ссылка будет ввести на файл logout.php, где мы и произведём выход.

В шапке сайта (файл header.php), с помощью сессии мы проверяем, авторизован ли уже пользователь. Если нет, то выводим ссылки регистрации и авторизации, в противном случае (если он авторизован ) то вместо ссылок регистрации и авторизации выводим ссылку Выход.

Модифицированный кусок кода из файла header.php:

При нажатии на ссылку выхода с сайта, мы попадаем в файл logout.php, где просто уничтожаем ячейки с почтовым адресом и паролем из сессии. После этого возвращаем пользователя обратно на ту страницу, на которой была нажата ссылка выход.

Код файла logout.php:

На этом всё. Теперь Вы знаете как реализовать и обрабатывать формы регистрации и авторизации пользователя на своём сайте. Эти формы встречаются почти на каждом сайте, поэтому каждый программист должен знать, как их создавать.

Ещё мы научились проверять вводимые данные, как на стороне клиента (в браузере, с помощью JavaScript, jQuery ) так и на стороне сервера ( с помощью языка PHP ). Также мы научились реализовать процедуру выхода с сайта.

Все скрипты проверены и рабочие. Архив с файлами этого маленького сайта Вы можете скачать по этой ссылке.

В будущем я напишу статью где опишу как реализовать подтверждение почты. И ещё планирую написать статью где объясню, как отправить данные из формы на сервер с помощью технологии Ajax (без перезагрузки страницы). Так что, для того чтобы быть в курсе о выходе новых статей можете подписаться на мой сайт.

При возникновении вопросов обращайтесь, также, если вы заметили, какую-то ошибку в статье прошу вас, сообщите, мне об этом.

Видео формат статьи

Если Вы что-то не поняли, то можете посмотреть видео формат статьи.

Не забываем подписаться на канал, ставить лайки и поделится с друзьями в социальных сетях. Впереди еще много интересного.

Исходные файлы из видео формата статьи немножко отличаются от тех которые были представлены выше в текстовом формате статьи. По этому исходные файлы из видео формата статьи Вы можете скачать по этой ссылке: Скачать исходные файлы из видео





Похожие статьи:

Понравилась статья?

Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.

Поделиться с друзьями:

Подписаться на новые статьи:

Поддержите пожалуйста мой проект!

Если у Вас есть какие-то вопросы или предложения, то можете писать их в комментариях или мне на почту [email protected]. И если Вы заметили какую-то ошибку в статье, то прошу Вас, сообщите мне об этом, и в ближайшее время я всё исправлю.

Добавляйтесь ко мне в друзья в:

  • — ВКонтакте
  • — Facebook
  • — Одноклассниках

Добавляйтесь в мои группы:

  • — Группа в ВКонтакте
  • — Группа в Facebook
  • — Группа в Одноклассниках

Подпишитесь на мои каналы:

  • — Мой канал на Youtube
  • — Мой канал на Google+

Автор статьи: Мунтян Сергей

Копирование материалов с сайта sozdatisite.ru ЗАПРЕЩЕНО.

Дата добавления: 2014-07-04 11:31:01

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.