양일등 / FBISKR@orgio.net |
|||||
안녕하세요! PHP Power User 여러분! 6월이 되니 제법 더운 것이 여름이 우리에게 한 걸음 다가온 것 같습니다. 이번 호에서는 간단한 WEB Program을 만들어 보면서 PHP의 실제 사용을 알아 보겠습니다.
1.제작구성 우리말에 ‘한번 부딪혀 보자’, ‘모르고 가도 서울만 가면 된다’라는 말이 있습니다. 이 말은 옳은 경우도 있지만, 프로그램의 생산성과 관련지어 보면 맞지가 않습니다. 철저한 준비없이 개발에 들어간다면(너무나 간단해서 10줄도 안되는 것일지라도 이것이 클래스의 모듈이거나 독립함수일 경우에 전체에 미치는 영향등을 고려해야 함) 나중에 디버깅과 제작방향의 수정으로 비용이 더 들어갑니다. 우리가 광속의 속도를 이야기하면 실제 감이 안오는 이야기도 껌 한 개와 자동차 한대 값이라는 실제적인 이야기로 비교해 보면 이해가 갈 것입니다. 자 그럼 시작하기에 앞서 너무나 중요한 설계를 해보겠습니다.
2. 설계 시스템 운용환경 개발목적
파일 구조 요약
3. 예상실행화면 실행화면(가입하지 않은 사용자의 초기 실행화면 : index.php3)
가입신청화면(user_add.php3)
오류발생화면(user_process.php3)
정상입력화면(user_process.php3)
가입 후 인덱스 화면(index.php3)
회원등록정보(user_show.php3)
4. 소스분석
4-1 index.php3
index.php3는 두분이 화면을 가지고 있습니다.
하나는 user_id가 있는 부분이고 다른 하나는 없는 부분입니다.
user_id 부분에서 쿠키의 값을 검사합니다. 검사를 하고 쿠키의
값이 존재하면 if ( $user_id <> “” ): 그 사람의 신상정보를
mSQL에서 얻어 옵니다.
4-2 user_add.php3
user_add.php3는 단순히 태그로 나열되었습니다. 실제 처리 작업은 user_process.php3가 실행합니다.
4-3 user_process.php3
user_process.php3도 두개의 페이지가 들어가 있습니다. 사용자 등록 확인 페이지와 오류 생성 페이지입니다. 처음에 flag를 1로 세팅하여 오류에 발생하면 0으로 세팅합니다. 이것은 뒤에 오류발생 페이지의 생성 근거를 제공합니다. 모든 검사를 마친 후에(주로 공백검사)는 데이터 베이스에 등록을 합니다. 여기에 독자들이 좀더 세분화된 오류 검사 루틴을 넣을 수 있습니다. 그 다음 등록된 사용자가 index.php3 에 다시 접속할 때 setcookie(“user_id”, $tmp_id, time()+3600*360);를 설정하여 이름을 출력하는 근거를 만듭니다. 아래로 내려와서 flag의 값에 따라 두 개의 페이지를 출력합니다.
4-4 user_show.php3
user_show.php3는 단순히 등록된 사용자를 출력합니다. 여기서도 역시 블록 for문을 사용하여 연속된 테이블에 데이터를 나타내고 있습니다. 여기서 좀더 코드를 사용하면 페이지를 분할하여 나타낼 수 있습니다. 그러고 보면 우리가 다른 페이지를 한번 클릭할 때마다 데이터 베이스가 쿼리를 실행하니 데이터베이스들의 마술에 가까운 데이터 수집 능력에 경탄을 하지 않을 수 없습니다.
5. 마치며 정말 간단한 Web Program입니다. 하지만 처음 연재에서처럼 아무리 간단한 Web Program이라도 개발환경의 열악한 조건 때문에 그리 간단하지 않습니다. 특히 페이지가 여러 개로 분할되어 그 각각의 쓰임새에 대한 정확한 정의와 구성을 하기가 참 까다롭습니다. 그래서 모 채팅사이트의 Web Program을 보면 정말 경탄을 금할 수 없습니다. 그럼 좋은 하루되세요. |