PHP скрипт с использованием SQL базы
ФОРМА РЕГИСТРАЦИИ
Поля:
Логин
Пароль
Повтор пароля
Э-майл
Секретное слово для восстановления пароля
Капча
Дополнения:
1) Проверка полей на правильность заполнения.
2) Пароль в sha
3) Секретное слово должно заноситься в отдельную таблицу в базе, например, в secret_word. Введя которое в специальную форму восстановления пароля игроку приходил пароль от аккаунта.
ФОРМА ВОССТАНОВЛЕНИЯ ПАРОЛЯ ОТ АККАУНТА
Поля:
Э-майл, на который зереген аккаунт
Секретное слово введенное игроком при регистрации (данные берутся из той самой таблицы secret_word)
Капча
SQL 1 таблицы
--
-- Table structure for table `account`
--
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
`id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'Identifier',
`username` varchar(32) NOT NULL default '',
`sha_pass_hash` varchar(40) NOT NULL default '',
`gmlevel` tinyint(3) unsigned NOT NULL default '0',
`sessionkey` longtext,
`v` longtext,
`s` longtext,
`email` varchar(320) NOT NULL default '',
`joindate` timestamp NOT NULL default CURRENT_TIMESTAMP,
`last_ip` varchar(30) NOT NULL default '127.0.0.1',
`failed_logins` int(11) unsigned NOT NULL default '0',
`locked` tinyint(3) unsigned NOT NULL default '0',
`last_login` timestamp NOT NULL default '0000-00-00 00:00:00',
`online` tinyint(4) NOT NULL default '0',
`tbc` tinyint(3) unsigned NOT NULL default '0',
`mutetime` bigint(40) unsigned NOT NULL default '0',
`locale` tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`),
KEY `idx_gmlevel` (`gmlevel`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Account System';
SQL 2 таблицы
-- ----------------------------
-- Table structure for accounts
-- ----------------------------
CREATE TABLE `accounts` (
`login` varchar(45) NOT NULL default '',
`password` varchar(45) default NULL,
`lastactive` decimal(20,0) default NULL,
`access_level` int(11) NOT NULL default '0',
`lastIP` varchar(20) default NULL,
PRIMARY KEY (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;