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

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

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

PHP [디자이너의 초보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에서 불러올때 조건문에 들어가도록 해서...검색단어가 포함된 게시물만 불러오도록 하는 것입니다.
 
알고보니 쉽죠?
어느정도 익숙해지면 마음대로 검색 방법을 설정해서 만들수 있을 것입니다.
추천
2
  • 복사

댓글 1개

© SIRSOFT
현재 페이지 제일 처음으로