कैसे मैन्युअल डालें एक प्रयोक्ता के लिए एक SMF फोरम में PHP का प्रयोग
यह विशिष्ट उदाहरण SMF 1.1.5 के लिए है. मैं इसे किसी भी दूसरे संस्करण के साथ काम करेंगे गारंटी नहीं दे सकते.
तो क्या आप सरल मशीन फोरम सॉफ्टवेयर चलाने और स्वयं एक प्रयोक्ता प्रवेश करना चाहते हैं? कोई समस्या नहीं है. मैं इस समस्या को बहुत खास लगता है, लेकिन पता विचारों यहाँ मंचों और अन्य डेटाबेस Wordpress जैसे सॉफ्टवेयर संकुल संचालित अन्य प्रकार के लिए अनुकूलित किया जा सकता है के बारे में बताया. इससे पहले कि हम वास्तव में यह कैसे करना पड़ जाना है, ले कैसे सरल मशीन Forums उपयोगकर्ता का ट्रैक रखता है पर एक नज़र करते हैं. इस SMF डेटाबेस में एक मेज कहा जाता है smf_members. यह संरचना smf_members इस तरह दिखता है:
| मैदान | प्रकार | अशक्त | कुंजी | चूक | अतिरिक्त |
|---|---|---|---|---|---|
| ID_MEMBER | mediumint (8) अहस्ताक्षरित | NO | PRI | Null | auto_increment |
| memberName | varchar (80) | NO | एमयूएल | ||
| dateRegistered | int (10) अहस्ताक्षरित | NO | एमयूएल | 0 | |
| पोस्ट | mediumint (8) अहस्ताक्षरित | NO | एमयूएल | 0 | |
| ID_GROUP | smallint (5) अहस्ताक्षरित | NO | एमयूएल | 0 | |
| lngfile | tinytext | NO | एमयूएल | ||
| lastLogin | int (10) अहस्ताक्षरित | NO | एमयूएल | 0 | |
| realName | tinytext | NO | |||
| instantMessages | smallint (5) | NO | 0 | ||
| unreadMessages | smallint (5) | NO | 0 | ||
| buddy_list | पाठ | NO | |||
| pm_ignore_list | पाठ | NO | |||
| messageLabels | पाठ | NO | |||
| passwd | varchar (64) | NO | |||
| emailAddress | tinytext | NO | |||
| personalText | tinytext | NO | |||
| लिंग | tinyint (4) अहस्ताक्षरित | 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 | |||
| हस्ताक्षर | पाठ | NO | |||
| timeOffset | फ्लोट | NO | 0 | ||
| अवतार | tinytext | NO | |||
| pm_email_notify | tinyint (4) | NO | 0 | ||
| karmaBad | smallint (5) अहस्ताक्षरित | NO | 0 | ||
| karmaGood | smallint (5) अहस्ताक्षरित | 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) अहस्ताक्षरित | NO | 0 | ||
| is_activated | tinyint (3) अहस्ताक्षरित | NO | 1 | ||
| validation_code | varchar (10) | NO | |||
| ID_MSG_LAST_VISIT | int (10) अहस्ताक्षरित | NO | 0 | ||
| additionalGroups | tinytext | NO | |||
| smileySet | varchar (48) | NO | |||
| ID_POST_GROUP | smallint (5) अहस्ताक्षरित | NO | एमयूएल | 0 | |
| totalTimeLoggedIn | int (10) अहस्ताक्षरित | NO | 0 | ||
| passwordSalt | varchar (5) | NO |
खेतों हम ध्यान देने की जरूरत है:
- memberName - स्व Explanitory.
- dateRegistered - है, लेकिन जरूरी नहीं है यदि तारीख 31 दिसंबर 1969 के रूप में प्रदर्शित करता है पंजीकृत बाहर भर नहीं है. दिनांक एक युग टाइमस्टैम्प के रूप में सहेजा है. कैसे अपने सिर में timestamps की गणना करने के लिए नहीं पता? कोई समस्या नहीं है. मैं यहाँ पाया मुफ्त जनरेटर का उपयोग करें.
- realName - डाला जाना चाहिए. जब मैं मैं बस memberName यहाँ दोहराने यकीन नहीं है.
- emailAddress - स्व Explanitory.
- जब से हम स्वयं एक सदस्य को सक्रिय कर रहे हैं is_activated - 1 करने के लिए सेट किया जाना चाहिए.
- ID_POST_GROUP - मैं झूठ नहीं बोलूँगी. मैं यह क्या है यकीन नहीं है, लेकिन यह हमेशा से 4 करने के लिए सेट किया जा रहा है. तो .... मैं हमेशा से 4 करने के लिए यह निर्धारित किया है. कार्यक्रम करने का सबसे अच्छा तरीका नहीं है, लेकिन आप क्या कर सकते हैं?
- passwd - कूटशब्द आप नये उपयोगकर्ता देना चाहता हूँ. यह कैसे SMF दस्तावेज़ीकरण देख बिना प्रवेश करने के लिए पता करने के लिए असंभव है. यह उचित कोड डेटाबेस के लिए एक SMF पासवर्ड एन्क्रिप्ट करने के लिए इस तरह दिखता है:
($memberName).$password) $ passwd = sha1 (strtolower ($ memberName). $ पासवर्ड)
कोड के ऊपर की रेखा में, $ पासवर्ड उपयोगकर्ता के वास्तविक कूटशब्द है.
कैसे करना है:
/ / पहले, SMF डेटाबेस से कनेक्ट
$ मेजबान = "होस्टनाम"; / / मेजबान नाम
$ उपयोगकर्ता नाम = "उपयोगकर्ता नाम", / / MySQL प्रयोक्ता नाम
$ mypassword = "कूटशब्द"; / / MySQL पासवर्ड
$ db_name = "उपयोगकर्ता नाम", / / डाटाबेस नाम
("cannot connect to server"); "मेजबान (" $ mysql_connect, "$ उपयोगकर्ता नाम", "$ mypassword") या मर ( "सर्वर से") कनेक्ट नहीं कर सकते हैं;
("cannot select DB"); mysql_select_db ( "$ db_name") या मर ( "") DB का चयन नहीं कर सकते हैं;
$ memberName = "ironMan";
$ realName = "टोनी स्टार्क";
$ emailAddress = "ironMan@ironMan.com";
$ = 1 is_activated;
$ ID_POST_GROUP = 4;
$ कूटशब्द = "Tony1234";
($memberName).$password); $ कूटशब्द = sha1 (strtolower ($ memberName). $ पासवर्ड);
$ = 1216951200 dateRegistered; / / 7/25/2008 2
$ क्वेरी = "घुसाएँ में, '$' emailAddress, '$' is_activated, '$ realName' '$ memberName' (, emailAddress, ID_POST_GROUP, dateRegistered passwd is_activated realName) memberName मूल्यों ( '$ smf_members ID_POST_GROUP', ' $ कूटशब्द ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ परिणाम = mysql_query ($ क्वेरी) या मर ( "SMF त्रुटि 101,234");
यह सब वहाँ यह करने के लिए है!






















