웹마스터 팁

식사들 하셨습니까??
오늘 웹서핑 하다가.. 진짜 노래잘부르는 여자를 보고는 뻑갔습니다.
자유게시판에 퍼와가지고 올려뒀는데.. 정말 잘 부르네요..
지금도 듣고 있답니다..^^
참고로 전 노래 잘하는 여자, 남자들은 다 좋아함..


자.. 노래는 노래고 우리는 공부를 또 해야죠..
오늘 만들어볼것은.. 1줄 메모장입니다.
어제.. 자다 일어나서.. 할일도 없고.. 심심해서.. 한번 만들어봤습니다.
근데 단순 메모장이 아닙니다.
자.. 아래 이미지를 보십시오..



이렇습니다. 근데 이미지로만은 다 말을 못합니다.
왜냐하면 이 메모장에는 바로 테마기능이 숨겨져 있습니다..^______^
우측 상단에 셀렉트박스 보이시죠??
그기서 테마를 선택하면 전체적인 색상이 변경되는 그러한 메모장이랍니다.

근데 이렇게 엄청난 메모장을 파일 하나로 만들어보겠습니다. (무슨 약장사같네.. --;;)

먼저 준비돈 캡쳐화면을 통해서.. 소스를 보여드리겠습니다.
한번에 캡쳐를 못해서.. 여러번 나눠서 캡쳐했습니다.



첫번째 상단 부분입니다.
여기서는 바로 테마를 설정하는 부분입니다.
각각의 테마에 따른 BGCOLOR을 미리 설정을 해둡니다.
그리고 바로 글쓰기 폼이 시작이 되죠??
뭐 글쓰기 폼에서는 크게 어려운게 없을거라 믿습니다.



바로 밑에 이어지는 소스입니다.
여기서는 무엇이냐 하면.. 위의 폼에서 입력한 글을 디비에 입력시켜주는 부분입니다.
여기서.. trim()라는 함수를 볼수가 있는데..
이 함수는 문자의 시작과 끝부분의 공백을 없애주는 역할을 합니다.

그리고 del_html()이라는 함수는 func.php 파일속에서 정의된
HTML태그를 제거하는 함수죠..
메모장인데.. HTML태그가 뭔 필요가 있겠습니까??

글구 참

          // 옳바른 접근인지 체크함
          if(!eregi("http://mrjh.com/mrjh_memo/main.php",$HTTP_REFERER)){
                 echo "[script] window.alert('옳바른 접근이 아닙니다.'); history.go(-1) [/script]"; exit;
          }

이부분은.. 여러분들에게는 필요가 없는 부분입니다.
제 홈페이지에만 적용이 되는 부분이죠.. 꼭 이렇게 체크를 해야겠다면 여러분들은

          // 옳바른 접근인지 체크함
          if(!eregi($HTTP_HOST,$HTTP_REFERER)){
                 echo "[script] window.alert('옳바른 접근이 아닙니다.'); history.go(-1) [/script]"; exit;
          }

이렇게 사용을 하시면 되겠습니다.

전체글수를 알아내는 부분이 있는데.. 이건 페이지 나누기 위해서 가져와야 한다고 제가
게시판강좌에서 설명을 한적이 있습니다.
페이지 나누는것에 대해서는 "게시판 강좌의 리스트부분"을 참고하시기 바랍니다.




자.. 테마 적용을 위한.. 셀렉트박스 부분입니다.
[select name=theme]라고 되어있죠?? 네.. 바로.. option이 선택되었을때.. 그 option의 value값이
theme가 되는거죠.. 그리고 이 theme의 값은.. 젤 첨으로 가서..
theme에 해당하는 배경색깔을 전체 페이지에 뿌려주게 되는것입니다.

근데 테마를 적용할때 주의 하셔야 할점은..
만약에.. 첨에.. 빨간색으로 테마를 적용했습니다.
그리고 글을 하나 작성하고 화면이 리프레쉬가 되었을때도.. 빨간색테마를 유지해야겠죠??
안그러면.. 테마가 무슨 소용이 있겠습니까..
그렇게 유지를 하기 위해서는.. 홈페이지 전체 테마를 사용할때는.. 쿠키를 이용해서 할수도 있지만..
이렇게 한페이지 정도에서 따로 테마를 사용할때는
테마의 변수값만 넘겨주기만 하면 됩니다.

무슨 말이냐 하면.. 이 전체 소스들을 쭉 보세요..
그중에서 링크가 걸려있는 부분이나.. 아니면 화면이 리프레쉬되는 부분을 잘 보세요..
항상 그 링크에는 ?db=$db&theme=$theme라고 되어있을겁니다.

예.. 그렇습니다. 페이지가 바뀔때.. 항상 그 사람이 선택한 테마값을 넘겨줘야 한다는 것이죠..^^



자.. 그리고.. 이건 뭐냐면.. 리스트 부분인데..
알록달록한 배경을 만들기 위한 리스트부분입니다.

알록달록한 배경을 만드는건 그리 어려운 일이 아닙니다.
숫자를 이용한거죠..

글앞에 있는 숫자는
1, 2, 3, 4, 5, 6, 이렇게 증가합니다.
여기서.. 반복되는게 있습니다. 바로 홀짝이죠..
1(홀), 2(짝) 3(홀) 4(짝).. 이런식이죠??
이건 나중에 글이 수천개가 되더라도.. 항상 이렇게 되죠??
바로 이걸 이용한겁니다.

그럼 홀수 짝수는 어떻게 구할까요?? 바로 나머지 값입니다.
PHP의 연산자 중에서 %라는게 있습니다. 바로 나머지 값을 구해내는거죠..

숫자를 2로 나눠서 나머지가 0이면 그건 짝수겠죠??
그리고 1이면 홀수겠죠??
바로 이것을 이용한거랍니다.
간단하죠??
그래서.. 홀수일때는 리스트부분의 배경색을 eeeeee로 하고 짝수일때는 그냥 흰색으로 하게 되면
나중에 보일때는 알록달록한 배경이 보이게 되겠죠??




뭐.. 이부분은 설명을 안하더라도 크게 문제될것은 없을거라 생각합니다..^^
한번에 캡쳐를 못해서.. 이렇게 꼽사리가 꼈네요.. --;;



그리고 페이지 나누는 부분입니다.
페이지 나누는 부분은.. 게시판 만들기 강좌의 리스트 강좌에서 이미 다 했기때문에
더이상 설명하지는 않겠습니다. (저도 힘드러요.. ㅠㅠ)


글구.. 이제.. 이 한줄 메모장에 사용될 데이터베이스의 구조를 잠시보면.. 아주 간단합니다.


include "dbconn.php";

mysql_query ("
create table mrjh_memo_$db (
no                        int(10) auto_increment not null,
title                        char(80) not null,
name                char(20) not null,
primary key(no)
)",$connect)
or die("테이블 설치에 오류가 발생했습니다.".mysql_error());

?>

이겁니다.
무지 간단하죠??
번호, 제목, 이름 이렇게 밖에 없습니다..

이렇게 테이블 작성후.. 테이블 만들고.. 위 소스들로 한번 만들어 보세요..
멋진 메모장이 될겁니다..^_______^

그럼.. 전 이만~ <ㅑㅇ
제목 글쓴이 날짜
초보의 절대경로 알아내기.. #1 아이쿠 2002.09.17
개인 서버 운영하시는분 서버 꺼졌을때 메시지 띄우기; [12] 실버 2002.09.11
전에 올렸던 게시판입니다. JHboard 게시판 중도 포기작품..!; [5] file Myzzix 2002.09.09
디렉토리의 내용을 가져오는 방법 [2] DHelper 2002.09.02
[php] 스킨 해석&출력... [2] 엔카일 2002.09.01
[PHP 초보에서 중수로 - 쿠키편] 2강 : 쿠키 다루기 [3] file TheMics 2002.08.31
[PHP 초보에서 중수로 - 쿠키편] 1강 : 쿠키의 이해 [2] file TheMics 2002.08.31
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 4 end [15] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 3 [1] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 2 [11] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 1 [17] 아이쿠 2002.08.30
array_multisort를 이용한 간단한 순위체크 [4] Doogi 2002.08.28
변수를 사용하여 echo로 변수값 출력하기. [7] ZipShin 2002.08.28
sleep() 제대루 쓰기... 요것두 [별루 알아도 도움 안되는 팁] [5] sMokaHallo 2002.08.24
[허접] implode() 함수로 배열을 변수로! Myzzix 2002.08.23
[허접] rand() 함수를 이용한 뒤죽박죽 날짜 출력 [5] Myzzix 2002.08.23
파일하나로 만드는 한줄 메모장(테마기능 포함) [8] Mr. JH 2002.08.22
PHP의 제어구조 [2] Mr. JH 2002.08.22
PHP 시간관련 함수 [3] Mr. JH 2002.08.22
PHP에서 사용하는 간단하지만 중요한 MySQL함수들 [3] Mr. JH 2002.08.22