웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 1
2002.08.30 21:33
초보의 초보를위한 초보에의한 강의입니다.
프레임을 이용한 홈페이지와 테이블을 이용한 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 쪽에 달아 두어도 도움이 될것 같습니다.
초보의 초보를위한 초보에의한 강의 였습니다. ^.^
프레임을 이용한 홈페이지와 테이블을 이용한 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 쪽에 달아 두어도 도움이 될것 같습니다.
초보의 초보를위한 초보에의한 강의 였습니다. ^.^
댓글 17
-
아이쿠
2002.09.14 18:29
-
이경근
2002.09.19 21:54
나의 경우가 그 허접 PHP 초보부터 배워야징..
그래서 멋진 홈페이지를 ㅋㅋ -
냐엉이
2002.09.03 21:07
php 신입생인데요 ^^
아무리 봐도 .. 이해가 안되지만.. 읽고 읽고 또 읽는중 ^^
강의 올리시느라 수고하신네요..
흠..나도 언젠간 강의 올리는 날이...ㅡㅡ;; -
한지영
2002.09.08 23:11
어흑... ㅠ_ㅠ <? include ("Top_frame.php"); ?> 이 단어찾으러 엄청 헤메었어요. 정말정말 감사드려요. ㅠ_ㅠ -
요술고양이
2002.09.18 18:39
아예 허접은 못알아 보겠군요; -
아이쿠
2002.09.19 17:05
초보분들을 위한 강의입니다만 ^.^
Html 기본은 알고 계셔야 PHP를 활용하는데 어려움이 없을듯 합니다. -
탱자
2002.09.19 17:41
전 iframe 으로 하는뎅... -
lalena
2002.10.01 04:30
으갸갸 정말 정말 원하던 강좌입니다!!! 감솨 (--)(__) -
김재구
2002.10.05 23:02
이걸 봐도 모르겠다 ㅡㅡ~~
왜 하라는 데로 해도 왜 안되는ㄴ 거야.! ㅡㅡ; -
정영웅
2003.04.13 01:41
도움 많이 되었습니다^_^ -
송유환
2003.07.03 02:01
대충은알아 들었지만.. 뒤에 노프레임은 잘모르겟어요. -
고냉이 콱!
2003.06.28 23:46
아파치 깔고 열심히 마루타 돌려보는중.... -0- -
이종호
2003.07.04 21:56
그런데.... <? include ("$id"); ?> 이것을 활용하는 방법을 잘 모르겠어요 ㅡ_-
좀 더 이해하기 쉽게 설명 좀 부탁드립니다. ㅜ_ㅜ -
자인비
2003.12.11 14:21
정말 고맙습니다
미련하게 홈페이지 만들었는데 -
김영진
2003.12.16 15:48
<? include ("$id"); ?> 이것의 활용은 가운데 부분....
즉 일반적으로 계시판내지는 내용이 보여지는 부분을 계속 바꿀수있다는 거 같군요.
전 아직 php를 시작하진 않았지만 열심히 읽고있습니다.
메뉴에서 사용하면 좋겠네요.
계시판이동할때는 링크를 index.php?id=계시판.php 로 하면될거구요.
겔러리로 이동할때는 index.php?id=겔러리.php 로 하면되겠고...음...
역시...마찬가지로 링크 페이지로 이동할꺼면...index.php?id=링크.php
이러면...프레임 페이지는 항상 index.php 파일하나로 이루어지고...
각각의 메뉴 위 왼쪽만 잘만들어 놓으면 돼는군요...
거참 유용하네요..^^
감사합니다. -
김영진
2003.12.16 15:50
음...로그인페이지를 만뜰때 어떻게 응용해야할지 생각중입니다.
왼쪽메뉴쪽에 로그인 정보가 표시돼어야할텐돼......음......
왼쪽메뉴에서 로그인돼지 않았을경우 가운데페이지를 사용할수없음으로
자동 링크이동하면 됄까요??? -
정창신
2004.01.01 12:44
참...대체 먼소린지 도무지 알수 없구먼요...
예제를 들어 좀더 구체적으로 해주시면 안될까요?
이강의는 보통 Frame으로된 홈페이지는 잘만드시면서 OneFrame이라는말만 들어도 겁내시는 분들에게 쉽게 접근할수있는 편법 강의 입니다. 그러니.. ^.^ 허접한 강의 자체를 이해하시기 보다는 흐름을 이해하시면 되실껏 같습니다. ^.^