Cara manual Masukkan sebuah Pengguna Into sebuah Forum SMF Menggunakan PHP
Contoh khusus ini adalah untuk SMF 1.1.5. Aku tidak dapat menjamin akan bekerja dengan versi lain.
Jadi Anda menjalankan Software Forum Mesin Wikipedia dan ingin secara manual memasukkan pengguna? Ah, itu bukan apa-apa. Aku tahu masalah ini tampaknya sangat spesifik, tetapi ide-ide dijelaskan di sini dapat disesuaikan dengan jenis lain database forum dan paket perangkat lunak lain didorong seperti Wordpress. Sebelum kita masuk ke tepat bagaimana untuk melakukan hal ini, mari kita lihat bagaimana Wikipedia Machine Forum melacak pengguna. Dalam database SMF ada meja disebut smf_members. The smf_members struktur tampak seperti ini:
| Lapangan | Jenis | Batal | Kunci | Default | Ekstra |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) unsigned | NO | PRI | NULL | AUTO_INCREMENT |
| memberName | varchar (80) | NO | Mul | ||
| dateRegistered | int (10) unsigned | NO | Mul | 0 | |
| posting | 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 | teks | NO | |||
| pm_ignore_list | teks | NO | |||
| messageLabels | teks | NO | |||
| passwd | varchar (64) | NO | |||
| emailAddress | tinytext | NO | |||
| personalText | tinytext | NO | |||
| jenis kelamin | tinyint (4) unsigned | NO | 0 | ||
| tanggal lahir | tanggal | NO | Mul | 0001-01-01 | |
| websiteTitle | tinytext | NO | |||
| websiteUrl | tinytext | NO | |||
| tempat | 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 | |||
| tanda tangan | teks | NO | |||
| timeOffset | mengapung | 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 |
Fields kita perlu memperhatikan:
- memberName - Explanitory Diri.
- dateRegistered - Apakah tidak perlu, tapi jika tidak diisi menampilkan tanggal terdaftar sebagai 31 Desember 1969. Tanggal disimpan sebagai cap waktu zaman. Tidak tahu bagaimana menghitung cap waktu di kepala Anda? Ah, itu bukan apa-apa. Saya menggunakan generator bebas ditemukan di sini .
- realName - Harus dimasukkan. Ketika aku tidak yakin aku bisa mengulang-ulang memberName di sini.
- emailAddress - Explanitory Diri.
- is_activated - Harus di set ke 1 karena kita secara manual mengaktifkan anggota.
- ID_POST_GROUP - Aku tidak akan berbohong. Saya tidak yakin apa ini, tapi sepertinya selalu diatur ke 4. Jadi .... Aku selalu set ke 4. Bukan cara terbaik untuk program, tetapi apa yang dapat Anda lakukan?
- passwd - Sandi yang Anda ingin memberikan pengguna baru. Tidak mungkin untuk mengetahui cara memasukkan tanpa melihat dokumentasi SMF. Kode yang tepat untuk mengenkripsi password SMF untuk database terlihat seperti ini:
($memberName).$password) $ Passwd = sha1 (strtolower ($ memberName) sandi. $)
Dalam baris di atas kode, password $ adalah password pengguna yang sebenarnya.
Cara Melakukannya:
/ / Pertama, hubungkan ke database SMF
$ host = "hostname"; / / Nama Host
$ username = "username"; / / Mysql username
$ mypassword = "password"; / / MySQL password
DB_NAME $ = "username"; / / Nama Database
("cannot connect to server"); mysql_connect ("" host $, "$ username", "$ mypassword") or die ("tidak dapat terhubung ke server");
("cannot select DB"); mysql_select_db ("$ DB_NAME") atau mati ("tidak dapat memilih 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; / / 2008/07/25 02:00
$ 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 "); $ Hasil = mysql_query ($ query) or die ("Kesalahan SMF 101,234");
Itu saja yang ada untuk itu!








































