Как да Ръчно Вмъкване на потребителя в един SMF форум Използване на PHP
Този конкретен пример е за SMF 1.1.5. Не можем да гарантираме, че ще работи с всяка друга версия.
Така че тече Обикновено машина форум Софтуер и искате да въведете ръчно един потребител? Няма проблем. Знам, че този проблем изглежда много специфичен, но идеята е обяснено тук може да се адаптира към различни видове форуми и други данни задвижвани софтуерни пакети, като Wordpress. Преди да влязат в точно как да стане това, нека да разгледаме как просто машина Форуми следи от потребители. В базата данни SMF има таблица, наречена smf_members. В smf_members структура изглежда така:
| Област | Тип | Нула | Ключ | По подразбиране | Допълнително |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) грозен | NO | PRI | NULL | auto_increment |
| memberName | VARCHAR (80) | NO | MUL | ||
| dateRegistered | INT (10) грозен | NO | MUL | 0 | |
| мнения | mediumint (8) грозен | NO | MUL | 0 | |
| ID_GROUP | smallint (5) грозен | NO | MUL | 0 | |
| lngfile | tinytext | NO | MUL | ||
| lastLogin | INT (10) грозен | NO | MUL | 0 | |
| realName | tinytext | NO | |||
| instantMessages | smallint (5) | NO | 0 | ||
| unreadMessages | smallint (5) | NO | 0 | ||
| buddy_list | текст | NO | |||
| pm_ignore_list | текст | NO | |||
| messageLabels | текст | NO | |||
| passwd | VARCHAR (64) | NO | |||
| emailAddress | tinytext | NO | |||
| personalText | tinytext | NO | |||
| пол | tinyint (4) грозен | NO | 0 | ||
| дата на раждане | дата | NO | MUL | 0001-01-01 | |
| websiteTitle | tinytext | NO | |||
| websiteUrl | tinytext | NO | |||
| място | tinytext | NO | |||
| ICQ | tinytext | NO | |||
| AIM | VARCHAR (16) | NO | |||
| YIM | VARCHAR (32) | NO | |||
| MSN | tinytext | NO | |||
| hideEmail | tinyint (4) | NO | 0 | ||
| showOnline | tinyint (4) | NO | 1 | ||
| на средата | VARCHAR (80) | NO | |||
| подпис | текст | NO | |||
| timeOffset | поплавък | NO | 0 | ||
| въплъщение | tinytext | NO | |||
| pm_email_notify | tinyint (4) | NO | 0 | ||
| karmaBad | smallint (5) грозен | NO | 0 | ||
| karmaGood | smallint (5) грозен | NO | 0 | ||
| usertitle | tinytext | NO | |||
| notifyAnnouncements | tinyint (4) | NO | 1 | ||
| notifyOnce | tinyint (4) | NO | 1 | ||
| notifySendBody | tinyint (4) | NO | 0 | ||
| notifyTypes | tinyint (4) | NO | 2 | ||
| memberIP | tinytext | NO | |||
| memberIP2 | tinytext | NO | |||
| secretQuestion | tinytext | NO | |||
| secretAnswer | VARCHAR (64) | NO | |||
| ID_THEME | tinyint (4) грозен | NO | 0 | ||
| is_activated | tinyint (3) грозен | NO | 1 | ||
| validation_code | VARCHAR (10) | NO | |||
| ID_MSG_LAST_VISIT | INT (10) грозен | NO | 0 | ||
| additionalGroups | tinytext | NO | |||
| smileySet | VARCHAR (48) | NO | |||
| ID_POST_GROUP | smallint (5) грозен | NO | MUL | 0 | |
| totalTimeLoggedIn | INT (10) грозен | NO | 0 | ||
| passwordSalt | VARCHAR (5) | NO |
Сферата трябва да обърнат внимание на:
- memberName - Самостоятелно Explanitory.
- dateRegistered - не е необходимо, но ако не попълва датата регистрирани показва като 31ви Дек, 1969. Датата се записва като една епоха клеймо. Не знам как да се изчисли времеви отпечатъци в главата ти? Няма проблем. Да използвам свободното генератор намерени тук .
- realName - трябва да се включат. Когато не съм сигурен, че просто се повтаря memberName тук.
- emailAddress - Самостоятелно Explanitory.
- is_activated - Трябва да бъде зададен на 1, тъй като ние сме ръчно активиране на член.
- ID_POST_GROUP - Няма да лъжа. Аз не съм сигурен какво е, но винаги изглежда да се определят до 4. Така че .... Винаги съм го до 4. Не е най-добрият начин за програмата, но това, което можеш да направиш?
- passwd - паролата, която искате да се даде на нов потребител. Невъзможно е да разбера как да се влиза без да погледне документацията, SMF. Правилното код за криптиране на парола SMF за базата данни изглежда така:
($memberName).$password) $ Passwd = sha1 (strtolower ($ memberName). $ Паролата)
В горния ред от кода, $ парола е действително паролата на потребителя.
Как да го постигнете:
/ / От една страна, се свърже с базата данни SMF
$ Домакин = "име на хост"; / / Име на хоста
$ Име = "Потребител"; / / MySQL потребителско име
$ Mypassword = "парола"; / / MySQL парола
$ Db_name = "Потребител"; / / База данни име
("cannot connect to server"); mysql_connect ("$ домакин", "$ потребителско име", "$ mypassword"), или умират ("не може да се свърже със сървъра");
("cannot select DB"); mysql_select_db ("$ db_name"), или умират ("не може да изберете DB");
$ MemberName = "Ironman";
$ RealName = "Тони Старк";
$ EmailAddress = "ironMan@ironMan.com";
$ Is_activated = 1;
$ ID_POST_GROUP = 4;
$ Парола = "Tony1234";
($memberName).$password); $ Парола = sha1 (strtolower ($ memberName). $ Парола);
$ DateRegistered = 1216951200; / / 07.25.2008 2 ч.
$ Заявка = "вкарва в smf_members (memberName, realName, emailAddress, is_activated, ID_POST_GROUP, passwd, dateRegistered) стойности (" $ memberName ',' $ realName ',' $ emailAddress ',' $ is_activated ',' $ ID_POST_GROUP ',' $ парола ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ Резултат = mysql_query ($ заявка), или умират ("Грешка SMF 101,234");
Това е всичко, което трябва да го!








































