사실 이 코드를 작성하는 데만 3일이 걸렸습니다. 사전에 구체적인 생각이나 계획이 없었습니다. (아무 계획도 없었다고 할 수 있습니다.) 그날 포럼을 만들까 하는 생각이 들어서 시작하게 되었습니다. 저는 PHP를 사용한 지 거의 한 달이 되었는데 이틀 반 동안 이 코드를 작성하는 동안 실제로 프로그램 같은 것을 작성한 적이 없습니다. 몇 번이고 포기하고 싶었지만 그래도 쓰게 될 줄은 몰랐기 때문에 사용 가능하다고는 하지만 설명할 수 없는 숨겨진 위험이 많을 수도 있습니다.
이틀 뒤에 출근하는데, 이 코드들을 처음부터 끝까지 꼼꼼히 확인할 시간이 없을 것 같아요. 이것이 제가 올린 이유 중 하나입니다. 함께 보시죠. 이 캐릭터들을 살펴보겠습니다. 저는 초심자일 뿐이고, 안 해본 지름길이 있을 수도 있고, 지난 이틀 동안 제가 바꾼 것들도 많을 수 있습니다. 일부 페이지의 코드는 삭제되었지만 다른 관련 코드는 제거되지 않아 약간 반복되는 부분이 있습니다. 하지만 정상적으로 실행될 수 있다는 것은 확실합니다(적어도 표면적으로는 정상적으로 보입니다. WIN98/APACHE/PHP/MYSQL에서 사용하는 데 문제가 없으며 온라인 테스트에도 문제가 없습니다. 다른 것에 대해서는 잘 모르겠습니다. 나 같은 뉴비나 나보다 잘하는 초보들이 무엇을 얻을 수 있고, 베테랑이나 선배들이 부족한 점을 지적하거나 글을 남길 수 있다면 나는 될 것이다. 그러면 나 또한 많은 것을 배울 수 있기 때문에 더 기쁘다. 내 이메일 주소는 hllinyu@netease.com, OICQ: 2289230, 홈페이지 주소는 http://lfox.oso이다. .com.cn
그래, 말도 안 되는 소리가 너무 많아. 모두가 이 포럼의 소스 코드를 수정하는 작업에 전념하여 중국인이 직접 개발한 무료 포럼이 될 수 있기를 바랍니다. 포럼 코드는 저처럼 PHP에 관심이 많지만 시작할 수 없다고 느끼는 많은 친구들이 사용할 수 있습니다. 우리가 가지고 있는 참고 자료로는 충분합니다.
우선 두 가지를 소개하겠습니다. 처음에는 데이터 공간이 그리 크지 않기 때문에 사용할 테이블, 게시물 정보를 저장하는 foxbbs 및 사용자 정보를 사용하는 방법을 선택했습니다. 그래서 콘텐츠를 제외한 모든 주제는 MYSQL에 저장됩니다. 상대적으로 데이터량이 많은 회신 내용은 확장자가 .FOX 및 .BBS인 TXT 형식 파일로 별도로 저장됩니다. 여기서는 파일 이름이 중복되는 것을 방지하기 위해 테이블에 파일 이름을 저장하는 필드를 추가하기만 하면 됩니다. 예를 들어, 2001년 1월 2일 11시 20분 30초에 게시된 게시물의 경우 파일 이름은 20010102112030.txt일 수 있으므로 대부분의 요구 사항을 충족할 수 있다고 생각합니다. 1초에 2개 이상의 새로운 게시물이 나올 정도로 인기가 많은 포럼입니다 ㅎㅎ...
이 포럼의 구체적인 정보는 http://lfox.oso.com.cn/foxbbs/foxbbs.php에서 확인하실 수 있습니다. 또한, 메인 페이지인 http://lfox.oso.com.cn/index.php에서 소스 코드 패키지를 다운로드할 수 있습니다.
useinfo 사용자 정보 테이블
0 usename varchar(8) not null 사용자 이름
1 usepass varchar(8) not null 비밀번호
2 useni varchar(30) not null 별명
3 useoicq varchar( 12) null 아님
4 사용ex int(1) null 아님 사용자 성별
5 사용 int(2) null 아님 사용자 연령
6 usezy(4) null 아님 직업
7 useaddr varchar( 20) not null 주소
8 usemail varchar(40) not null 이메일
9 useweb varchar(50) not null 홈페이지
10 useqm varchar(240) not null 서명
11 use attr int(1) not null 속성 1 사용자 2 중재자 3 관리자 4 웹마스터
12 useinf int(1) not null 정보 공개 여부 1 아니요 2 예
13 useid int(5) not auto_increment 기본 키 사용자 ID 번호
14 usebq int(1) not null 식
15 regdate datetime; 등록 시간
16 enddate varchar(22) not null 마지막 도착 시간
17 ftnum int( 4) Not null 게시물 수
18 usety char(1) null이 아님
foxbbs 포럼 주제 테이블
0 id int(5) auto_increment 기본 키가 아님
1 usename varchar(20) 사용자 이름이 게시되지 않음
2 ftbq int(1 ) 표현식이 아님
3 title varchar(40) not subject
4 ftdate varchar(22) not post time
5 mesname varchar(15) not content file name 20010102055635 사고에 대비해 한 자리를 더 남겼는데 사실 14는 충분한.
6 djnum int(4) 클릭 수가 아님
7 hfnum int(3) 응답 수가 아님
8 hfdate varchar(24) 마지막 응답 시간이 아님
9 hfname varchar(20) 응답 없음 file name
10 hfusename varchar(20) not Last reply name
11 ip varchar(15)
12 lockes int 1
linkfox.inc.php는
$ dbhostname = "lfox";
$dbusername = "root";
$dbpassword = "root";
MYSQL_CONNECT($dbhostname, $dbusername , $dbpassword) OR DIE("데이터베이스에 연결할 수 없습니다.")
@mysql_select_db( "$dbName") 또는 die( "데이터베이스를 선택할 수 없습니다.");
위 내용은 소스코드에 대한 소개입니다. 제 포럼 소스코드 1에는 소스코드 내용이 포함되어 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.