ПредишенСледващото

Създаване на база данни

Създаване на нова база данни, наречена TESTDB. използвате следната заявка от привилегирован потребител.

За да работите с базата данни, добавете един и същи потребител TESTDB и да му даде необходимите права.

Структурата на таблицата за потребители

За да съхранявате на потребителя да създаде база данни, данните за маса потребители. използвате следната заявка.

  • идентификатор - уникален идентификационен номер на потребител
  • потребителско име - вход
  • парола - криптиран парола
  • сол - сол за криптиране на паролите

Структурата на файлове и директории

Създайте директория «PHP удостоверяване е» за нашия проект. Добавяне на следните файлове и папки:

регистрация на потребител

Когато се регистрира, потребителят трябва да въведете потребителско име и парола и да потвърдите паролата. След изпращане на формуляра ще направим проверка на съществуването на Въведените данни за вход. Ако потребителското име вече съществува - да уведоми посетителя.

разрешение Аякс и регистрация в PHP

Цялата работа с базата данни ще се случи чрез разширяване ЗНП за PHP. Той е включен в стандартната PHP библиотека от версия 5.1.

Основната логика на приложението е в класа / Auth.class.php файла. Нека подробно съдържанието.

регистрация алгоритъм

За да създадете нов потребител, използвайки метода на потребителя :: създадете (). който получава потребителско име и парола като аргументи.

Първото нещо, за да се провери съществуването на потребителя. За да направите това, използвайте метод за потребителя :: getSalt (). който избира от основата на "сол" на вход на потребителя. Солта е необходимо да се усложни избора на потребителски пароли в случай на изтичане на база.

Ако не съществува потребителя - хвърли изключение. В противен случай, ние се генерира нов сол и хеш на паролата към него. След това, с молба за добавяне на данни към базата данни. Ако заявката не се осъществи, sootvetstvuyuee отпечатате съобщение и да излезете от сценария. Такава ситуация може да възникне, когато го изключвате MySQL сървър или вътрешна грешка.

Ако даден потребител е създаден ussheshno, Потребителят :: създадете () връща уникален идентификатор. Това е нормално цифрово поле, което се увеличава автоматично при добавяне на записи на масата.

удостоверяване алгоритъм

С цел да се провери правилното потребителско име и парола, използвайте потребителя :: разреши метод (). Първото нещо, което се провери наличието на даден потребител се опитва да избере сол от основата. Ако не бъде намерен на потребителя, веднага се връща лъжа. В противен случай, хеш на паролата на солта преминава през Потребителя :: функцията passwordHash (). След това, да направите избор от базата данни с помощта на потребителско име и парола хашиш.

Ако резултатът от заявката беше празен, потребителското име и паролата са правилни. Запазване на данни polzotelskie в обекта на потребителя клас. Напиши идентификатора на потребителя в сесията през Потребителят :: метод saveSession (). Ако първият аргумент - $ помня. премине верен на нея. идентификатор на сесия се записва в бисквитки. Той няма да въвеждате паролата всеки път, когато рестартирате браузъра.

Работа с форми чрез Ajax

За да се справят с Аякс искания създават AjaxRequest клас. Запишете го в класовете / AjaxRequest.class.php по делото.

Този клас ще улесни нашата обработка на данните, изпратени от формуляра за употреба. Като дизайнер, той получава масив искане на данни ($ _GET или $ _POST).

се изисква getRequestParam () метод за получаване на параметър от искането. Той прави допълнителна проверка за наличието на набор от ключови и връща нула. ако искането не съдържа необходимите данни.

функция setResponse () се използва за получаване на отговор. setFieldError () метод е необходимо за предаване на съобщение за грешка в областта на форма.

За да се върнете в отговор на потребителя, ние използваме метод showResponse. Той генерира поредица от JSON-форматиран, задава желаната HTTP-хедърите и връща данните на клиента.

В ajax.php файл настъпят пряко чрез AjaxRequest класа на обработка на заявката.

Формат JSON-отговор

От страната на клиента, трябва да сме в състояние да покажат резултат от операцията в четима за човека форма. За да направите това, ние се върне JSON отговор в следния формат:

Създаване на файла JS / Аякс form.js. Той ще изпрати събитието, за да прихване всички форми с Аякс клас и изпращане на асинхронен заявка към сървъра. Изходния код на Ajax form.js.

За сценария нуждае JQuery 2.0.3 (е в архива на източника).

Тези обратни повиквания в които действат само ако отговорът на валидиране е успешно. метод script.ajaxForm.validate проверява реакцията на името на полето с грешка. Ако съществува такава област, podstvechivaet го и показва текста на грешката.

разрешение Аякс и регистрация в PHP

Update: Фиксирана грешки, свързани с хешираното парола, обикновено спечелени функцията "Запомни ме". Благодарим Ви, че потребителят santas156 намерени грешки.

Оценка - 4.9 Гласове - 27

Свързани статии

Подкрепете проекта - споделете линка, благодаря!