Cum să introduceţi un manual de utilizator într-un forum SMF, folosind PHP

Posted in SMF (Simple Machine Forum), php de ShortLikeAFox iulie, 28, 2008

Acest exemplu este specifice pentru SMF 1.1.5. Eu nu poate garanta va funcţiona cu orice altă versiune.

Deci, va rula Simple Machine Forum Software-ul şi doriţi să introduceţi un manual de utilizator? Nici o problemă. Ştiu că această problemă se pare foarte specifice, dar a explicat idei de aici pot fi adaptate pentru alte tipuri de forumuri şi alte baze de date conduse de pachete software, cum ar fi Wordpress. Înainte de a ajunge în exact cum se face acest lucru, să aruncăm o privire la cât de simplu de masini Forumuri păstrează de utilizatori. În baza de date SMF acolo este un tabel numit smf_members. Smf_members de structura arata astfel:

Câmp Tip Null

Cheie Implicit Extra
ID_MEMBER mediumint (8) nesemnate NU PRI NULL auto_increment
memberName varchar (80) NU MUL
dateRegistered int (10) nesemnate NU MUL 0
de posturi mediumint (8) nesemnate NU MUL 0
ID_GROUP smallint (5) nesemnate NU MUL 0
lngfile tinytext NU MUL
lastLogin int (10) nesemnate NU MUL 0
realname tinytext NU
instantMessages smallint (5) NU 0
unreadMessages smallint (5) NU 0
buddy_list de tip text NU
pm_ignore_list de tip text NU
messageLabels de tip text NU
passwd varchar (64) NU
emailAddress tinytext NU
personalText tinytext NU
gen tinyint (4) nesemnate NU 0
data naşterii dată NU MUL 0001-01-01
websiteTitle tinytext NU
websiteUrl tinytext NU
locaţie tinytext NU
ICQ tinytext NU
AIM varchar (16) NU
YIM varchar (32) NU
MSN tinytext NU
hideEmail tinyint (4) NU 0
showOnline tinyint (4) NU 1
timeFormat varchar (80) NU
semnătura de tip text NU
timeOffset pluti NU 0
avatar tinytext NU
pm_email_notify tinyint (4) NO 0
karmaBad smallint (5) nesemnate NU 0
karmaGood smallint (5) nesemnate NU 0
usertitle tinytext NU
notifyAnnouncements tinyint (4) NU 1
notifyOnce tinyint (4) NU 1
notifySendBody tinyint (4) NU 0
notifyTypes tinyint (4) NU 2
memberIP tinytext NU
memberIP2 tinytext NU
secretQuestion tinytext NU
secretAnswer varchar (64) NU
ID_THEME tinyint (4) nesemnate NU 0
is_activated tinyint (3) nesemnate NU 1
validation_code varchar (10) NU
ID_MSG_LAST_VISIT int (10) nesemnate NU 0
additionalGroups tinytext NU
smileySet varchar (48) NU
ID_POST_GROUP smallint (5) nesemnate NU MUL 0
totalTimeLoggedIn int (10) nesemnate NU 0
passwordSalt varchar (5) NU

Domenii trebuie să acorde atenţie:

  • memberName - Auto Explanitory.
  • dateRegistered - nu este necesar, dar, dacă nu este completat de la data înregistrat ca afişează 31 decembrie 1969. Data este salvată ca o epocă de timp. Nu stiu cum de a calcula timpii in capul tau? Nici o problemă. Pot folosi gratuit generator de găsite aici.
  • realname - să fie inserate. Când nu sunt sigur am aici repetarea memberName.
  • emailAddress - Auto Explanitory.
  • is_activated - Trebuie să fie setat la 1, deoarece noi suntem manual de activare a unui membru.
  • ID_POST_GROUP - Eu nu va mint. Nu sunt sigur ce este asta, dar ea pare a fi mereu setat la 4. Deci .... Intotdeauna mi-am stabilit-o la 4. Nu cel mai bun mod de program, dar ce poti face tu?
  • passwd - Parola pe care doriţi să daţi de utilizator nou. Este imposibil să-mi dau seama cum să intre fără a uitat la documentatia SMF. Corespunzătoare pentru a cripta un cod SMF parolă pentru baza de date va arăta aşa:

($memberName).$password) $ passwd = sha1 (strtolower ($ memberName). $ parola)

În linia de cod de mai sus, $ parola de utilizator este efectiv al parola.

Cum se face:

/ / În primul rând, conectarea la baza de date SMF

$ host = "hostname"; / / nume de gazdă
$ username = "nume_utilizator"; / / mysql nume de utilizator
$ parola mea = "parola"; / / mysql parola
$ db_name = "nume de utilizator"; / / numele bazei de date

("cannot connect to server"); mysql_connect ( "$ host", "$ username", "$ parola mea") sau a muri ( "nu se poate conecta la server");
("cannot select DB"); mysql_select_db ( "$ db_name") sau a muri ( "nu se poate selecta DB");

memberName $ = "ironMan";
realname $ = "Tony Stark";
emailAddress $ = "ironMan@ironMan.com";
$ is_activated = 1;
ID_POST_GROUP $ = 4;

$ parola = "Tony1234";

($memberName).$password); $ parola = sha1 (strtolower ($ memberName). $ parola);

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", " $ parola ',' $ dateRegistered ")";
("SMF Error 101.234 "); $ rezultat = mysql_query ($ interogare) sau a muri ( "SMF 101.234 de eroare");

Asta e tot acolo este să-l!

| Comentarii