Cara manual Masukkan sebuah Pengguna Into sebuah Forum SMF Menggunakan PHP

Posted in SMF (Simple Machine Forum) , php oleh ShortLikeAFox pada 28 Juli 2008

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!

Tinggalkan Komentar