วิธีแทรกด้วยตนเอง User Into Forum SMF ใช้ PHP
เช่นนี้เฉพาะสำหรับ SMF 1.1.5 ฉันไม่สามารถรับประกันว่าจะทำงานร่วมกับรุ่นอื่นๆ
คุณจึงใช้ Simple Machine Forum Software และต้องการให้ตนเองเข้าใช้งานได้หรือไม่ ไม่มีปัญหา ฉันรู้ว่าปัญหานี้ดูเหมือนเฉพาะเจาะจงมาก แต่ความคิดอธิบายที่นี่สามารถนำมาปรับประเภทอื่น ๆ รั่ขับเคลื่อนและฐานข้อมูลโปรแกรมสำเร็จรูปอื่น ๆ เช่น Wordpress ก่อนที่เราจะได้เป็นว่าการทำเช่นนี้ลองมาดูที่วิธี Simple Machine Forums ติดตามผู้ใช้ ในฐาน SMF มีตารางที่เรียกว่า smf_members smf_members โครงสร้างลักษณะดังนี้
| สนาม | ชนิด | โมฆะ | คีย์ | Default | เพิ่มเติม |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) unsigned | NO | PRI | NULL | auto_increment |
| memberName | varchar (80) | NO | มัล | ||
| dateRegistered | int (10) unsigned | NO | มัล | 0 | |
| โพสต์ | mediumint (8) unsigned | NO | มัล | 0 | |
| ID_GROUP | smallint (5) unsigned | NO | มัล | 0 | |
| lngfile | tinytext | NO | มัล | ||
| lastLogin | int (10) unsigned | NO | มัล | 0 | |
| realName | tinytext | NO | |||
| instantMessages | smallint (5) | NO | 0 | ||
| unreadMessages | smallint (5) | NO | 0 | ||
| buddy_list | text | NO | |||
| pm_ignore_list | text | NO | |||
| messageLabels | text | NO | |||
| passwd | varchar (64) | NO | |||
| emailAddress | tinytext | NO | |||
| personalText | tinytext | NO | |||
| เพศ | tinyint (4) unsigned | NO | 0 | ||
| วันเกิด | วันที่ | NO | มัล | 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 | ||
| timeFormat | varchar (80) | NO | |||
| ลายเซ็น | text | NO | |||
| timeOffset | ลอย | 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 | มัล | 0 | |
| totalTimeLoggedIn | int (10) unsigned | NO | 0 | ||
| passwordSalt | varchar (5) | NO |
เขตเราต้องให้ความสนใจไปที่ :
- memberName -- Explanitory ตนเอง
- dateRegistered -- อยู่ไม่จำเป็น แต่ถ้าไม่กรอกวันที่ลงทะเบียนจะแสดงเป็น 31 ธันวาคม 1969 วันที่จะถูกบันทึกเป็น timestamp กาล ไม่ทราบวิธีการคำนวณ timestamps ในหัวของคุณ ไม่มีปัญหา จะใช้เครื่องกำเนิดไฟฟ้าฟรีอยู่ ที่นี่
- realName -- ควรใส เมื่อฉันไม่แน่ใจฉันซ้ำ memberName ที่นี่
- emailAddress -- Explanitory ตนเอง
- is_activated -- จะต้องตั้งค่า 1 เนื่องจากเราเองเปิดใช้งานสมาชิก
- ID_POST_GROUP -- ฉันจะไม่โกหก ผมไม่แน่ใจว่าสิ่งนี้ แต่มันก็น่าจะเป็น 4 ดังนั้น ... ฉันมักจะตั้งค่าให้ 4 ไม่วิธีที่ดีที่สุดกับโปรแกรม แต่สิ่งที่คุณจะทำอย่างไร
- passwd -- รหัสผ่านที่คุณต้องการให้ผู้ใช้ใหม่ จะไม่สามารถตัวเลขวิธีการใส่โดยไม่ต้องดูเอกสาร SMF รหัสที่เหมาะสมในการเข้ารหัสรหัสผ่าน SMF สำหรับฐานข้อมูลลักษณะดังนี้
($memberName).$password) $ passwd = sha1 (strtolower ($ memberName) . $ password)
ในบรรทัดข้างต้นของรหัสผ่าน $ เป็นรหัสผ่านจริงของผู้ใช้
How to Do It :
/ / First, เชื่อมต่อกับฐานข้อมูล SMF
"= ชื่อโฮสต์ host $"; / / ชื่อโฮสต์
"="ชื่อผู้ใช้ username $"; / / Mysql username
"="รหัสผ่าน mypassword $"; / / Mysql password
"="ชื่อผู้ใช้ db_name $"/ / ชื่อฐานข้อมูล
("cannot connect to server"); mysql_connect (host"$","$ username","$ mypassword") or die ("ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์");
("cannot select DB"); mysql_select_db ($ db_name") or die ("ไม่สามารถเลือก DB");
ironMan"memberName =";
realName $ ="สิ้นเชิง Tony";
ironMan@ironMan.com"emailAddress =";
$ is_activated = 1;
$ ID_POST_GROUP = 4;
รหัสผ่าน $ ="Tony1234";
($memberName).$password); password = sha1 (strtolower ($ memberName) . $ password);
$ dateRegistered = 1216951200 / / 2008/07/25 02:00
แบบสอบถาม ="INSERT INTO smf_members (memberName, realName, emailAddress, is_activated, ID_POST_GROUP, passwd, dateRegistered) VALUES ('$ memberName','$ realName','$ emailAddress','$ is_activated','$ ID_POST_GROUP',' รหัสผ่าน $','$ dateRegistered')";
("SMF Error 101.234 "); ผล $ = mysql_query ($ แบบสอบถาม) หรือ die ("Error SMF 101.234");
นั่นคือทั้งหมดที่มีให้มัน








































