Как вручную добавить пользователя в РВСН Форума с помощью PHP
Этот конкретный пример для РВСН 1.1.5. Я не могу гарантировать это будет работать с любой другой версии.
Таким образом вы запускаете Простые машины Программное обеспечение форума и хочу, чтобы вручную ввести пользователя? Нет проблем. Я знаю, эта проблема представляется весьма специфический, но идеи, объяснил здесь могут быть адаптированы для других типов форумов и других баз данных по инициативе программных пакетов, таких, как Wordpress. Прежде чем мы получаем в точности, как это сделать, давайте взглянем на то, как простые машины Форумы отслеживает пользователей. В РВСН базе данных есть таблица называется smf_members. Smf_members структура выглядит следующим образом:
| Области | Тип | Нуль | Основных | По умолчанию | Дополнительно |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) неподписанное | НЕТ | PRI | NULL | AUTO_INCREMENT |
| memberName | VARCHAR (80) | НЕТ | MUL | ||
| dateRegistered | INT (10) неподписанное | НЕТ | MUL | 0 | |
| должности | mediumint (8) неподписанное | НЕТ | MUL | 0 | |
| ID_GROUP | SMALLINT (5) неподписанное | НЕТ | MUL | 0 | |
| lngfile | tinytext | НЕТ | MUL | ||
| lastLogin | INT (10) неподписанное | НЕТ | MUL | 0 | |
| realName | tinytext | НЕТ | |||
| Чат | SMALLINT (5) | НЕТ | 0 | ||
| unreadMessages | SMALLINT (5) | НЕТ | 0 | ||
| buddy_list | текст | НЕТ | |||
| pm_ignore_list | текст | НЕТ | |||
| messageLabels | текст | НЕТ | |||
| пароль | VARCHAR (64) | НЕТ | |||
| адрес электронной почты | tinytext | НЕТ | |||
| personalText | tinytext | НЕТ | |||
| пола | tinyint (4) неподписанное | НЕТ | 0 | ||
| Дата рождения | дата | НЕТ | MUL | 0001-01-01 | |
| websiteTitle | tinytext | НЕТ | |||
| websiteUrl | tinytext | НЕТ | |||
| местонахождение | tinytext | НЕТ | |||
| ICQ | tinytext | НЕТ | |||
| AIM | VARCHAR (16) | НЕТ | |||
| YIM | VARCHAR (32) | НЕТ | |||
| MSN | tinytext | НЕТ | |||
| hideEmail | tinyint (4) | НЕТ | 0 | ||
| showOnline | tinyint (4) | НЕТ | 1 | ||
| timeFormat | VARCHAR (80) | НЕТ | |||
| подпись | текст | НЕТ | |||
| timeOffset | поплавок | НЕТ | 0 | ||
| аватар | tinytext | НЕТ | |||
| pm_email_notify | tinyint (4) | НЕТ | 0 | ||
| karmaBad | SMALLINT (5) неподписанное | НЕТ | 0 | ||
| karmaGood | SMALLINT (5) неподписанное | НЕТ | 0 | ||
| usertitle | tinytext | НЕТ | |||
| notifyAnnouncements | tinyint (4) | НЕТ | 1 | ||
| notifyOnce | tinyint (4) | НЕТ | 1 | ||
| notifySendBody | tinyint (4) | НЕТ | 0 | ||
| notifyTypes | tinyint (4) | НЕТ | 2 | ||
| memberIP | tinytext | НЕТ | |||
| memberIP2 | tinytext | НЕТ | |||
| secretQuestion | tinytext | НЕТ | |||
| secretAnswer | VARCHAR (64) | НЕТ | |||
| ID_THEME | tinyint (4) неподписанное | НЕТ | 0 | ||
| is_activated | tinyint (3) неподписанное | НЕТ | 1 | ||
| validation_code | VARCHAR (10) | НЕТ | |||
| ID_MSG_LAST_VISIT | INT (10) неподписанное | НЕТ | 0 | ||
| additionalGroups | tinytext | НЕТ | |||
| smileySet | VARCHAR (48) | НЕТ | |||
| ID_POST_GROUP | SMALLINT (5) неподписанное | НЕТ | MUL | 0 | |
| totalTimeLoggedIn | INT (10) неподписанное | НЕТ | 0 | ||
| passwordSalt | VARCHAR (5) | НЕТ |
Поля нам необходимо обратить внимание на:
- memberName - самостоятельное Explanitory.
- dateRegistered - не является необходимым, но если не заполнены дата зарегистрированных дисплеи, как 31 декабря 1969 года. Дата сохраняется как эпоха времени. Не знаю, как рассчитать время в вашей голове? Нет проблем. Я использую бесплатно генератор найти здесь.
- realName - должны быть вставлены. Когда я не уверен, я просто повторяю memberName здесь.
- адрес электронной почты - самостоятельное Explanitory.
- is_activated - должны быть установлены к 1, поскольку мы вручную активации члена.
- ID_POST_GROUP - Я не буду лгать. Я не уверен, что это такое, но оно всегда кажется, будет установлен на 4. Итак .... Я всегда установить его на 4. Не самый лучший путь к программе, но то, что вы можете сделать?
- пароль - пароль, который Вы хотите придать новый пользователь. Невозможно понять, как войти, не глядя на ФСМ документации. Правильного кода для шифрования РВСН пароль для базы данных выглядит так:
($memberName).$password) $ пароль = SHA1 (strtolower ($ memberName). $ пароль)
В приведенной выше строке кода, $ пароля пользователя фактический пароль.
Как это сделать:
/ / Во-первых, подключиться к базе данных РВСН
$ принимающих = "имя хоста"; / / Имя хоста
Имя пользователя $ = "Имя пользователя"; / / MySQL имя пользователя
$ MyPassword = "пароль"; / / MySQL пароль
$ DB_NAME = "Имя пользователя"; / / имя базы данных
("cannot connect to server"); mysql_connect ( "$ пребывания", "$ Имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "не может выбрать БД");
$ memberName = "Железный человек";
$ realName = "Тони Старк";
адрес электронной почты $ = "ironMan@ironMan.com";
$ is_activated = 1;
$ ID_POST_GROUP = 4;
$ Password = "Tony1234";
($memberName).$password); $ Password = SHA1 (strtolower ($ memberName). $ пароль);
$ dateRegistered = 1216951200; / / 7-25-2008 2 утра
$ запрос = "INSERT INTO smf_members (memberName, realName, адрес электронной почты, is_activated, ID_POST_GROUP, пароль, dateRegistered) VALUES ( '$ memberName', '$ realName', '$ адрес электронной почты', '$ is_activated', '$ ID_POST_GROUP', ' $ пароль ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка 101,234 РВСН");
Это все есть на него!






















