예감

[디자이너의 초보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개

예감님 강좌를 한꺼번에 다 보려니 헷갈리네요 강좌는 이해하기 쉬운데 ㅋㅋ차근차근봐야게사요 잘보고갑니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,883
14년 전 조회 2,690
14년 전 조회 1,813
14년 전 조회 1,227
14년 전 조회 1,670
14년 전 조회 2,093
14년 전 조회 1,313
14년 전 조회 1,824
14년 전 조회 2,558
14년 전 조회 1,668
14년 전 조회 1,531
14년 전 조회 1,563
14년 전 조회 1,245
14년 전 조회 1,912
14년 전 조회 1,757
14년 전 조회 1,228
14년 전 조회 1,612
14년 전 조회 4,705
14년 전 조회 1,710
14년 전 조회 3,427
14년 전 조회 1,632
14년 전 조회 1,698
14년 전 조회 1,453
14년 전 조회 1,269
14년 전 조회 2,253
14년 전 조회 1,304
14년 전 조회 1,241
14년 전 조회 1,539
14년 전 조회 1,384
14년 전 조회 1,619
14년 전 조회 1,376
14년 전 조회 2,403
14년 전 조회 2,898
14년 전 조회 1,711
14년 전 조회 1,685
14년 전 조회 1,477
14년 전 조회 3,508
14년 전 조회 1,487
14년 전 조회 1,214
14년 전 조회 2,040
14년 전 조회 2,444
14년 전 조회 1,401
14년 전 조회 2,001
14년 전 조회 1,999
14년 전 조회 2,051
14년 전 조회 2,167
14년 전 조회 1,829
14년 전 조회 9,309
14년 전 조회 1,943
14년 전 조회 2,247
14년 전 조회 1,372
14년 전 조회 1,283
14년 전 조회 1,393
14년 전 조회 1,790
14년 전 조회 2,800
14년 전 조회 1,328
14년 전 조회 2,306
14년 전 조회 2,555
14년 전 조회 1,677
14년 전 조회 1,608
14년 전 조회 1,158
14년 전 조회 1,744
14년 전 조회 1,645
14년 전 조회 1,497
14년 전 조회 1,418
14년 전 조회 1,473
14년 전 조회 1,834
14년 전 조회 2,608
14년 전 조회 1,742
14년 전 조회 1,191
14년 전 조회 1.1만
14년 전 조회 1,513
14년 전 조회 1,370
14년 전 조회 1,953
14년 전 조회 3,069
14년 전 조회 1,887
14년 전 조회 1,567
14년 전 조회 1,342
14년 전 조회 2,251
14년 전 조회 1,553
14년 전 조회 2,926
14년 전 조회 1,370
14년 전 조회 1,353
14년 전 조회 1,482
14년 전 조회 2,184
14년 전 조회 1,352
14년 전 조회 2,838
14년 전 조회 1,151
14년 전 조회 3,761
14년 전 조회 3,920
14년 전 조회 3,843
14년 전 조회 3,645
14년 전 조회 1,314
14년 전 조회 1,283
14년 전 조회 1,811
14년 전 조회 2,055
14년 전 조회 1,231
14년 전 조회 1,340
14년 전 조회 1,210
14년 전 조회 5,316