Cum se face manual Introduceţi un utilizator intr-o SMF Forum Folosind PHP
Acest exemplu este specific pentru SMF 1.1.5. Nu pot garanta va funcţiona cu orice altă versiune.
Deci, va rula simplă Machine Software Forum şi doriţi pentru a introduce manual un utilizator? Nici o problemă. Ştiu că această problemă pare foarte specifice, dar ideile explicat aici pot fi adaptate de la alte tipuri de forumuri şi alte pachete de software de baze de date condus, cum ar fi Wordpress. Înainte de a ajunge în exact cum se face acest lucru, să aruncăm o privire la cum Simple Machine Forums monitorizează de utilizatori. În baza de date a SMF există un tabel numit smf_members. În structura smf_members arata astfel:
| Câmp | Tip | Null | Cheie | Implicit | Extra |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) nesemnate | NU | PRI | NULL | auto_increment |
| memberName | varchar (80) | NU | MUL | ||
| dateRegistered | int (10) nesemnate | NU | MUL | 0 | |
| posturi | mediumint (8) nesemnate | NU | MUL | 0 | |
| ID_GROUP | smallint (5) nesemnate | NU | MUL | 0 | |
| lngfile | tinytext | NU | MUL | ||
| lastLogin | int (10) nesemnate | NU | MUL | 0 | |
| realname | tinytext | NU | |||
| instantMessages | smallint (5) | NU | 0 | ||
| unreadMessages | smallint (5) | NU | 0 | ||
| buddy_list | text | NU | |||
| pm_ignore_list | text | NU | |||
| messageLabels | text | NU | |||
| passwd | varchar (64) | NU | |||
| emailAddress | tinytext | NU | |||
| personalText | tinytext | NU | |||
| gen | tinyint (4) nesemnate | NU | 0 | ||
| Data naşterii | dată | NU | MUL | 0001-01-01 | |
| websiteTitle | tinytext | NU | |||
| websiteUrl | tinytext | NU | |||
| locaţie | tinytext | NU | |||
| ICQ | tinytext | NU | |||
| AIM | varchar (16) | NU | |||
| YIM | varchar (32) | NU | |||
| MSN | tinytext | NU | |||
| hideEmail | tinyint (4) | NU | 0 | ||
| showOnline | tinyint (4) | NU | 1 | ||
| timeFormat | varchar (80) | NU | |||
| semnătura | text | NU | |||
| timeOffset | pluti | NU | 0 | ||
| avatar | tinytext | NU | |||
| pm_email_notify | tinyint (4) | NU | 0 | ||
| karmaBad | smallint (5) nesemnate | NU | 0 | ||
| karmaGood | smallint (5) nesemnate | NU | 0 | ||
| usertitle | tinytext | NU | |||
| notifyAnnouncements | tinyint (4) | NU | 1 | ||
| notifyOnce | tinyint (4) | NU | 1 | ||
| notifySendBody | tinyint (4) | NU | 0 | ||
| notifyTypes | tinyint (4) | NU | 2 | ||
| memberIP | tinytext | NU | |||
| memberIP2 | tinytext | NU | |||
| secretQuestion | tinytext | NU | |||
| secretAnswer | varchar (64) | NU | |||
| ID_THEME | tinyint (4) nesemnate | NU | 0 | ||
| is_activated | tinyint (3) nesemnate | NU | 1 | ||
| validation_code | varchar (10) | NU | |||
| ID_MSG_LAST_VISIT | int (10) nesemnate | NU | 0 | ||
| additionalGroups | tinytext | NU | |||
| smileySet | varchar (48) | NU | |||
| ID_POST_GROUP | smallint (5) nesemnate | NU | MUL | 0 | |
| totalTimeLoggedIn | int (10) nesemnate | NU | 0 | ||
| passwordSalt | varchar (5) | NU |
Domenii trebuie să acorde atenţie:
- memberName - Auto Explanitory.
- dateRegistered - nu este necesară, dar dacă nu sunt completate la data înregistrate afişează ca 31 decembrie 1969. Data este salvată ca o epoca de timp. Nu ştiu cum să calculeze timp in capul tau? Nici o problemă. Eu folosesc libera generator găsit aici.
- realname - ar trebui introduse. Când nu sunt sigur am repeta memberName aici.
- emailAddress - Auto Explanitory.
- is_activated - Trebuie să fie setat la 1 din moment ce noi suntem manual activarea unui membru.
- ID_POST_GROUP - Eu nu va mint. Nu sunt sigur ce este, dar este întotdeauna pare să se fi stabilit la 4. Deci .... Intotdeauna mi-am stabilit-o la 4. Nu cel mai bun mod de program, dar ce poti face?
- passwd - Parola pe care doriţi să le dau de utilizator nou. Este imposibil să se seama cum de a intra fără a uita la SMF documentaţie. Buna cod pentru a cripta un SMF parolă pentru baza de date arata ca acest lucru:
($memberName).$password) $ passwd = sha1 (strtolower ($ memberName). $ parola)
În cele de mai sus linie de cod, $ parola este al utilizatorului real parola.
Cum se face:
/ / În primul rând, conectarea la baza de date a SMF
$ host = "hostname"; / / nume de gazdă
$ username = "nume_utilizator"; / / Mysql username
$ parola mea = "parola"; / / mysql parola
$ db_name = "nume_utilizator"; / / numele bazei de date
("cannot connect to server"); mysql_connect ( "$ host", "$ username", "$ parola mea") sau a muri ( "nu se poate conecta la server");
("cannot select DB"); mysql_select_db ( "$ db_name") sau a muri ( "nu se poate selecta DB");
$ memberName = "ironMan";
realname $ = "Tony Stark";
$ emailAddress = "ironMan@ironMan.com";
$ is_activated = 1;
$ ID_POST_GROUP = 4;
$ password = "Tony1234";
($memberName).$password); $ password = sha1 (strtolower ($ memberName). $ parola);
$ dateRegistered = 1216951200; / / 7.25.2008 2 AM
$ query = "INSERT INTO smf_members (memberName, realname, emailAddress, is_activated, ID_POST_GROUP, passwd, dateRegistered) VALUES ( '$ memberName', '$ realname', '$ emailAddress',' $ is_activated ',' $ ID_POST_GROUP ',' $ parola ',' $ dateRegistered ")";
("SMF Error 101.234 "); $ rezultat = mysql_query ($ query) sau mori ( "SMF Eroare 101.234");
Asta e tot ce e de el!






















