웹마스터 팁

초보의 초보를위한 초보에의한 강의입니다.

프레임을 이용한 홈페이지와 테이블을 이용한 OneFrame 홈페이지 는 장단점이 있습니다.
(물론 프레임을 이용했다고 해서 테이블을 사용하지 않는건 아니지만요...)

프레임 -  트래픽이나 편리성으로 봐서는 프레임을 이용한 홈페이지가 장점이 많습니다.
             프레임으로 이용했을때 틀은 그대로 이며 내용관련 프레임만 바뀌기 때문에 트래픽에 도움이 되고요..
             프레임을 원하시는 모양으로 만드신후 수정하기가 용이 하죠.. ^.^

One 프레임 -  흔히 NoFrame 이라고 하시는 하나의 틀로 만들어지 홈페이지 입니다.
                   이렇게 제작된 홈페이지는 전체적인 홈페이지 효과에 도움이 된다는 것입니다.
                   레이어 사용시에나 프레임간 이동및 효과 적용이 어려운경우에도 하나의 Frame 속에서
                   전체적인 효과에 도움을 줍니다.  - 나머진 다 단점.. 수정이나 트래픽등 에도 도움이 안되는 ㅡ.ㅡ


먼저 - 적을 알고 나를알면 백전 백승





One Frame 제작에 앞서... 프레임으로 제작되는 틀을 먼저 보도록 하겠습니다.

index.htm
----------------------------------------------------
<frameset rows="98, 1*" border="0" onload="init();">
    <frame src="top_frame.htm" name="top_menu" scrolling="no" marginwidth="0" marginheight="0">
    <frameset id='menu_frame' cols="149, 1*">
        <frame src="left_frame.htm" name="left_menu" scrolling="no" marginwidth="0" marginheight="0">
        <frame src="body_frame.htm" name="contents" scrolling="auto" marginwidth="0" marginheight="0">
    </frameset>
    <noframes>
    <p>이 페이지를 보려면, 프레임을 볼 수 있는 브라우저가 필요합니다.</p>
    </body>
    </noframes>
</frameset>

대략 위와 같은 형태로 프레임 페이지가 이루어 집니다.
상단의 타이틀 프레임  Top_frame.htm
좌측의 메뉴 프레임    Left_frame.htm
그다음 내용 프레임    Body_frame.htm
그리고 프레임을 지원하지 않는 브라우져로 접속시 보여줄 <noframe></noframe> 이부분은 생략해도 거의 무방합니다.
요즘 프레임을 지원하지 못하는 브라우져는 ^.^ 없거든요..

간편하게 상단모양을 바꾸려면 Top_frame.htm 을 수정합니다.
나머지 좌측메뉴및 내용 프레임 수정시에서도 해당 프레임 파일만 수정하면 되므로 간편합니다.





이제 One Frame 방법을 알아 볼까요..? - 보통 테이블 이용을 많이 하시죠..

index.htm
----------------------------------------------------
<Table>
        <tr><td>
                                        Top_frame
        </td></tr>

        <tr><td>
                <Table border=1>
                        <tr><td>
                                        Left_frame
                        </td><td>
                                        Body_frame
                        </td></tr>
                </Table>
        </td></tr>
</Table>

위와 같이 하면 각 테이블마다 원하는 크기를 조절하게 되며, 수정할때마다 이파일을 불러와 수정하게 됩니다.
물론 고치는부분이야 별차이가 없겠지만.. 프레임 홈페이지에서는 파일 세개에 나눠저 있던 내용이
OneFrame 홈페이지 에서는 하나의 파일로 존재 하게 됩니다.
그렇게 되면 수정할때 보이지 않아도 될 내용까지 나오게 되어 원하는 부분을 찾기도 힘들고 온라인 상으로 작업할때도
도움이 되지는 못합니다.




그래서 활용하게 된 방법이 php 의 include 기능입니다. 저도 초보(허접)이기 때문에 자세한 설명은 생략합니다.
(사실 하지도 못하지만요.. ^.^)
php 의 명령어중 다른 파일의 내용을 해당부분으로 집어 넣는 명령어 입니다.
(설명이 조금 잘못됬지만 뜻만 이해하시고 대충 넘어가 주세요. ^.^)

단순히 위의 OneFrame 페이지를 include 명령어를 써볼까요..? 물론 확장자는 php를 사용하시는게 편리합니다.

무식한 방법으로 다음과 같이 수정해 봅니다.

index.php
----------------------------------------------------
<Table>
        <tr><td>
                                <? include ("Top_frame.php"); ?>
        </td></tr>

        <tr><td>
                <Table>
                        <tr><td>
                                        <? include ("Left_frame.php"); ?>
                        </td><td>
                                        <? include ("Body_frame.php"); ?>
                        </td></tr>
                </Table>
        </td></tr>
</Table>

^.^ 결과는 하나의 파일로 제작된 noframe 파일과 동일하게 출력됩니다. 쉽지요..?

만약에 여러페이지를 만든다면..? 각각의 페이지 마다 index파일을 만드는게 ..?
frame 홈페이지만들때 보다 손이 더가는것 같고.. 손해 보는 느낌입니다. 기능을 한가지 넣어 봅니다.

index.php
----------------------------------------------------
<Table>
        <tr><td>
                                <? include ("Top_frame.php"); ?>
        </td></tr>

        <tr><td>
                <Table>
                        <tr><td>
                                        <? include ("Left_frame.php"); ?>
                        </td><td>
                                        <? include ("$id"); ?>
                        </td></tr>
                </Table>
        </td></tr>
</Table>

위와같이 수정하신후.. index.php?id=body_frame.php  이라고 불러온다면 ...
$id = body_frame.php 으로 수정되어 출력 됩니다.  매우 편리한 방법으로 개선되었지요..? ^.^

이제 내용이 바뀔때마다 index.php파일을 따로 만들필요 없이 하나의 index.php 파일로 내용만 바뀐페이지가
얼마든지 나올수 있습니다.  이렇게 나고 끝해도 되겠지만.. ^.^  또 한가지 기능을 넣어 봅니다.

index.php
----------------------------------------------------
<Table>
        <tr><td>
                                <? include ("Top_frame.php"); ?>
        </td></tr>

        <tr><td>
                <Table>
                        <tr><td>
                                        <? include ("Left_frame.php"); ?>
                        </td><td>
                                        <? if (is_file("$id")) : include ("$id"); endif; ?>
                        </td></tr>
                </Table>
        </td></tr>
</Table>

어라? 바뀐게 별로 없지요..? ^.^ is_file 명령어만 추가 되었습니다.
if(만약) is_file(파일이 존재하는지?) : 실행 (include); 끝(endif;)
조금더 설명하자면
만약 파일이 존재하면 실행하고 끝 : 약 파일이 없다면 실행안하고 끝
^.^ Top_frame 쪽이나 left_frame 쪽에 달아 두어도 도움이 될것 같습니다.



초보의 초보를위한 초보에의한 강의 였습니다. ^.^
제목 글쓴이 날짜
초보의 절대경로 알아내기.. #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