으로 SMF 포럼 PHP를 사용하여 사용자를 어떻게 수동으로 삽입

안으로 배치하는 SMF (간단한 기계 포럼) , PHP는 2008 년 7 월 28 일 ShortLikeAFox에

이 특정 예제는 SMF 1.1.5 나이다. 제가 버전이 다른 어떤 수있는 작동하지 않습니다 보장 그것.

그래서 당신은 간단한 기계 포럼 소프트웨어를 실행하고 수동으로 사용자를 입력하고 싶어? 문제 없어요. 나는이 문제를 알고 매우 구체적인 보이지만 아이디어가 여기 포럼 및 기타 데이터베이스 기반 소프트웨어 패키지의 다른 유형 Wordpress 같은 적응 수 있습니다 설명했다. 우리가이 일을 정확하게하는 방법에 들어가기 전에,의 간단한 기계 포럼은 사용자를 추적 방법에 대해 살펴보겠습니다. SMF 데이터베이스에는 테이블이라고합니다 smf_members. 이 구조를 smf_members 같이 보입니다 :

분야 유형

기본 여분의
ID_MEMBER mediumint (8) 서명 아니오 PRI의 NULL은 auto_increment
memberName (80) varchar 아니오 MUL
dateRegistered int (10) 서명 아니오 MUL 0
게시물 mediumint (8) 서명 아니오 MUL 0
ID_GROUP smallint (5) 서명 아니오 MUL 0
lngfile tinytext 아니오 MUL
lastLogin int (10) 서명 아니오 MUL 0
realName tinytext 아니오
instantMessages (5) smallint 아니오 0
unreadMessages (5) smallint 아니오 0
buddy_list 본문 아니오
pm_ignore_list 본문 아니오
messageLabels 본문 아니오
passwd (64) varchar 아니오
emailAddress tinytext 아니오
personalText tinytext 아니오
성별 tinyint (4) 서명 아니오 0
생년월일 날짜 아니오 MUL 0001-01-01
websiteTitle tinytext 아니오
websiteUrl tinytext 아니오
위치 tinytext 아니오
ICQ에 tinytext 아니오
AIM에 (16) varchar 아니오
Yim (32) varchar 아니오
MSN tinytext 아니오
hideEmail (4) tinyint 아니오 0
showOnline (4) tinyint 아니오 1
timeFormat (80) varchar 아니오
서명 본문 아니오
timeOffset 플로트 아니오 0
화신 tinytext 아니오
pm_email_notify (4) tinyint 아니오 0
karmaBad smallint (5) 서명 아니오 0
karmaGood smallint (5) 서명 아니오 0
usertitle tinytext 아니오
notifyAnnouncements (4) tinyint 아니오 1
notifyOnce (4) tinyint 아니오 1
notifySendBody (4) tinyint 아니오 0
notifyTypes (4) tinyint 아니오 2
memberIP tinytext 아니오
memberIP2 tinytext 아니오
secretQuestion tinytext 아니오
secretAnswer (64) varchar 아니오
ID_THEME tinyint (4) 서명 아니오 0
is_activated tinyint (3) 서명 아니오 1
validation_code (10) varchar 아니오
ID_MSG_LAST_VISIT int (10) 서명 아니오 0
additionalGroups tinytext 아니오
smileySet (48) varchar 아니오
ID_POST_GROUP smallint (5) 서명 아니오 MUL 0
totalTimeLoggedIn int (10) 서명 아니오 0
passwordSalt (5) varchar 아니오

필드는 우리가 집중해야합니다 :

  • memberName - 자기 explanitory.
  • dateRegistered - 12 월로인가되지 필요한, 디스플레이 등록 날짜를 기입하지 않은 경우지만, 31 1969. 날짜는 획기 타임 스탬프로 저장됩니다. 어떻게 머리에 타임 스탬프를 계산해야할지 모르겠어요? 문제 없어요. 난 발전기를 사용하여 무료로 찾은 이곳 .
  • realName은 - 삽입합니다. 내가 여기에 memberName 반복이 아니라 그냥 내 자신이 물론 이죠.
  • emailAddress - 자기 explanitory.
  • 이후 우리는 회원을 수동으로 활성화하는 1 is_activated는 방법 - 설정해야됩니다.
  • ID_POST_GROUP - 내가 거짓말을하지 않습니다. 난이게 뭔지 모르겠지만, 그것은 항상 4로 설정 것으로 보인다. 그래서 .... 난 항상 4로 설정합니다. 프로그램에 대한 최선의 방법은 아니지만, 무엇을 당신이 할 수 있습니까?
  • passwd - 비밀 번호는 사용자가 새로운하려는 제공합니다. 그것은 불가능한 방법에 입력 알아낼 SMF 설명서를보고하지 않고있다. 올바른 코드는 데이터베이스에 대한 SMF 비밀 번호를 암호화하는 같이 보입니다 :

($memberName).$password) $)은 passwd memberName = sha1을 (를 strtolower ($. 달러를 비밀 번호)

코드의 위 라인에서 $ 암호는 사용자의 실제 암호입니다.

그것을 어떻게하는 :

/ / 먼저, SMF 데이터베이스에 연결

$ 호스트 = "호스트 이름"; / / 호스트 이름
$ 사용자 이름 = "사용자 이름"; / / mysql을 사용자 이름
$ mypassword = "비밀 번호"; / / mysql을 비밀 번호
$ DB_NAME = "사용자 이름"; / / 데이터베이스 이름

("cannot connect to server"); ) mysql_connect ( "$ 호스트", "$ username"을, "$ mypassword"또는 죽을 ( "서버에 연결할 수 없습니다");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") 또는 죽을 ( ""DB를 선택할 수 없습니다);

$ memberName = "ironMan";
$ realName = "토니 스타크";
$ emailAddress = "ironMan@ironMan.com";
$ is_activated = 1;
$ = 4 ID_POST_GROUP;

$ 암호 = "Tony1234";

($memberName).$password); $ 암호 = sha1 (strtolower ($ memberName). $ 암호);

$ dateRegistered = 1216951200; / / 2008년 7월 25일 오전 2시

$ 쿼리 = "삽입 속으로 (realName, emailAddress, ID_POST_GROUP, passwd, dateRegistered is_activated memberName) 가치 ( '$ memberName', '$', emailAddress ',', '$ 달러를 is_activated'달러 realName '을 smf_members ID_POST_GROUP', ' $ 암호 ','$ dateRegistered ') ";
("SMF Error 101.234 "); $ 결과 = mysql_query ($ 쿼리) 또는 죽을 ( "SMF 오류 101.234");

그게 전부가 그것입니다!