테스트 사이트 - 개발 중인 베타 버전입니다

[디자이너의 초보PHP강의 06] 파라미터 값 사용하기

디자이너인 제가..프로그램 손을 대면서...느끼는 부분들을 정리한거라....표현이 틀릴수도 있음을 양해 부탁드려요..
 
게시판을 보시면
 
 
이런식으로 마지막 ? 다음 부분이 있습니다. 파라미터 값이라고 부르는데요...변수라고 생각하시면 됩니다.
변수 $bo_table 이 pg_php 라는 값을 가진다는 것이죠
그 다음을 보시면
 
 
추가적으로 값을 더 가지고 싶으면 &로 구분합니다. $skin 값이 notice를 가지는 것입니다.
그렇다면 파라미터 값은 왜 쓸까요?
 
잘 보시면 알겠지만..현재 그누보드에서는 모든 게시판을 /bbs/write.php 페이지에서 불러옵니다. (글쓰기의 경우)
게시판이 10개가 있다하더라고  /bbs/write.php  파일에서 불러오죠...그리고 파라미터 $bo_table 로 구분을 하여 게시판을 불러오는 것입니다.
 
$bo_table 값에 따라서 그 값에 설정된 게시판의 스킨을 불러오고...DB에서 데이터를 가져옵니다.
 
/bbs/write.php 페이지에서 $bo_table 값에 따라서 다르게 표현되도록 구분하는 것이죠...
 
페이지에서 표현을 할때에는
<?php
if($bo_table=='pg_php')
   echo "PHP게시판";
?>
 
이런식으로 bo_table 앞에 $를 붙여줍니다.
 
파라미터를 쓰면 여러가지로 표현이 가능하죠..
 
만일 1개의 게시판을 5종류로 쓸려고 했을때(카테고리 말고...스킨 자체를 다르게 표현하고 싶을 경우)
파라미터값을 이용하여 링크를 걸어주어 값을 보내주면 됩니다.
 
 
이런식으로 값을 보내고..
/bbs/list.php 파일에서 스킨파일을 불러오는 부분을 수정하여 사용하시면 됩니다
 
<?php
if($skin){ //$skin 값이 있을때는 이곳으로
   if($skin =='notice')
     include_once("/skin/board/notice/list.skin.php");
   else if($skin =='qna')
     include_once("/skin/board/qna/list.skin.php");
   else if($skin =='faq')
     include_once("skin/board/faq/list.skin.php");
}else{ //$skin 값이 없을 때
    include_once("$board_skin_path/list.skin.php");
}
?>
이런식으로 한개의 게시판으로 여러개 게시판을 사용하는 것처럼 활용할 수 있습니다.
 
또한 글쓰기의 경우 파라미터 값을 이용하여 DB입력할때 다르게 값을 넣기도 합니다.
다만 주의 할 점은 글쓰기의 경우 그냥 주소줄에 파라미터값을 넣어서 보내면...
 
글쓰기 페이지를 거치지 않고 다이렉트로
값을 넘겨줄수 있기 때문에
 
글쓰기에서는 꼭
<input type=hidden name=wr_id    value="<?=$wr_id?>">
이런식으로 hidden 값으러 넘겨서 write_update.php 페이지에서
$_POST[wr_id] 값으로 받는게 안전합니다.
 
많이 사용해 보시면 다양하게 활용할수 있습니다.
 
검색에도 이 파라미터값을 이용하여 처리합니다.
자유게시판에서 php로 검색하면 상단 주소창이
 
이런식으로 변합니다.
처음보다 많은 파라미터 값이 생겼죠??
 
$sca는 공백이죠?
$sfl은 검색되는 필드 명이고 : 보이는 것은 글 제목과 내용에서 검색
$stx는 검색단어 : php
$sop 는 검색방법 or와 and를 구분해 주는 것이죠
 
이것을 DB에서 불러올때 조건문에 들어가도록 해서...검색단어가 포함된 게시물만 불러오도록 하는 것입니다.
 
알고보니 쉽죠?
어느정도 익숙해지면 마음대로 검색 방법을 설정해서 만들수 있을 것입니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

예감님 강좌를 한꺼번에 다 보려니 헷갈리네요 강좌는 이해하기 쉬운데 ㅋㅋ차근차근봐야게사요 잘보고갑니다.

게시글 목록

번호 제목
30076
16255
16251
16247
16244
16242
16237
16236
16233
16230
16220
16219
16218
26286
16215
30075
16212
16209
30072
30069
3938
30065
16207
16195
16193
30064
30063
16191
16183
16177
16175
16170
26283
26282
26281
26280
26279
26278
26277
26276
26275
26274
26273
26272
26271
26270
26269
26268
26267
26266
26265
26263
16168
16137
16136
16135
3933
26261
24349
30060
3929
16133
16132
30056
16126
3926
26259
24346
16123
30044
3923
3921
16116
16112
16107
16099
3920
26253
26252
24345
16093
3914
3911
16089
16087
16084
3908
16081
24344
16078
3903
26250
26249
3899
3898
16066
30038
16056
16053
16051