Come Inserire un manuale utente in un forum SMF Utilizzo di PHP
Questo esempio è per SMF 1.1.5. Non posso garantire che funziona con qualsiasi altra versione.
Quindi si esegue Simple Machine Forum Software e desidera inserire manualmente un utente? Nessun problema. So che questo problema sembra molto specifiche, ma le idee spiegato qui può essere adattato ad altri tipi di forum e di altri database di pacchetti software, come Wordpress. Prima di entrare esattamente come fare questo, diamo un'occhiata a come semplice Machine Forum tiene traccia degli utenti. Nella banca dati SMF c'è una tabella denominata smf_members. Il smf_members struttura simile a questa:
| Campo | Tipo + + digitare | Null | Chiave | Predefinito | Extra |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) unsigned | NO | PRI | NULL | AUTO_INCREMENT |
| memberName | varchar (80) | NO | MUL | ||
| dateRegistered | int (10) unsigned | NO | MUL | 0 | |
| posti | mediumint (8) unsigned | NO | MUL | 0 | |
| ID_GROUP | smallint (5) unsigned | NO | MUL | 0 | |
| lngfile | tinytext | NO | MUL | ||
| lastLogin | int (10) unsigned | NO | MUL | 0 | |
| realname | tinytext | NO | |||
| instantMessages | smallint (5) | NO | 0 | ||
| unreadMessages | smallint (5) | NO | 0 | ||
| buddy_list | testo | NO | |||
| pm_ignore_list | testo | NO | |||
| messageLabels | testo | NO | |||
| passwd | varchar (64) | NO | |||
| EmailAddress | tinytext | NO | |||
| personalText | tinytext | NO | |||
| genere | tinyint (4) unsigned | NO | 0 | ||
| data di nascita | data | NO | MUL | 0001-01-01 | |
| websiteTitle | tinytext | NO | |||
| websiteUrl | tinytext | NO | |||
| località | 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 | ||
| timeFormat | varchar (80) | NO | |||
| firma | testo | NO | |||
| timeOffset | float | NO | 0 | ||
| avatar | tinytext | NO | |||
| pm_email_notify | tinyint (4) | NO | 0 | ||
| karmaBad | smallint (5) unsigned | NO | 0 | ||
| karmaGood | smallint (5) unsigned | 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) unsigned | NO | 0 | ||
| is_activated | tinyint (3) unsigned | NO | 1 | ||
| validation_code | varchar (10) | NO | |||
| ID_MSG_LAST_VISIT | int (10) unsigned | NO | 0 | ||
| additionalGroups | tinytext | NO | |||
| smileySet | varchar (48) | NO | |||
| ID_POST_GROUP | smallint (5) unsigned | NO | MUL | 0 | |
| totalTimeLoggedIn | int (10) unsigned | NO | 0 | ||
| passwordSalt | varchar (5) | NO |
Settori dobbiamo prestare attenzione a:
- memberName - Auto Explanitory.
- dateRegistered - non è necessario, ma se non compilato visualizza la data registrata nel dicembre 31a 1969. La data viene salvato come un'epoca timestamp. Non so come calcolare i timestamp nella tua testa? Nessun problema. Io uso la libera generatore trovare qui.
- realname - deve essere inserito. Quando io non sono sicuro di aver appena ripetere memberName qui.
- EmailAddress - Auto Explanitory.
- is_activated - Deve essere impostato a 1, dato che sono un membro di attivare manualmente.
- ID_POST_GROUP - Non mi mentire. Non sono sicuro di che cosa si tratta, ma sembra sempre essere impostato a 4. Quindi .... Ho sempre impostato a 4. Non il modo migliore per programma, ma che cosa puoi fare?
- passwd - La password che si desidera dare al nuovo utente. E 'impossibile capire come entrare senza guardare la SMF documentazione. Il codice per cifrare un SMF password per il database simile al seguente:
($memberName).$password) $ passwd = sha1 (strtolower ($ memberName). $ password)
In linea di codice, $ password è la password dell'utente reale.
Come fare:
/ / In primo luogo, stabilire la connessione al database di SMF
$ host = "hostname"; / / Nome host
$ username = "nome utente"; / / MySQL username
miapassword $ = "password"; / / MySQL password
$ db_name = "nome utente"; / / nome del database
("cannot connect to server"); mysql_connect ( "$ host", "$ username", "$ miapassword") or die ( "non può connettersi al server");
("cannot select DB"); mysql_select_db ( "$ db_name") or die ( "non può selezionare 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). $ password);
$ 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 ',' $ password ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ risultato = mysql_query ($ query) or die ( "Errore SMF 101,234");
Questo è tutto quello che ad essa!






















