Как вручную добавить пользователя в РВСН Форума с помощью PHP

Написал в РВСН (Simple Машина форум), PHP путем ShortLikeAFox от 28 июля 2008 года

Этот конкретный пример для РВСН 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 РВСН");

Это все есть на него!

Оставить комментарий