[디자이너의 초보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개
13년 전
예감님 강좌를 한꺼번에 다 보려니 헷갈리네요 강좌는 이해하기 쉬운데 ㅋㅋ차근차근봐야게사요 잘보고갑니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 15661 | |
| 15657 | |
| 3688 | |
| 15650 | |
| 15648 |
PHP
이거좀 봐주세요 함수 호출
1
|
| 15647 |
Linux
ldconfig 사용하기
|
| 15642 | |
| 3676 | |
| 29958 | |
| 15639 | |
| 15635 | |
| 15632 | |
| 3672 | |
| 15630 |
JavaScript
자바스크립트 packer 그리고 Beautify, unpack
1
|
| 15629 |
기타
rgb, cmyk
|
| 15628 |
JavaScript
라디오박스 폼 submit 후 프로세스파일(iframe)에서 처리후 부모창으로
|
| 15625 |
PHP
함수에 변수를 보내려면..
2
|
| 15624 |
PHP
변수 받아다 DB값 리턴하기
|
| 15621 |
기타
이클립스 문의..
2
|
| 15613 |
jQuery
jQuery Selector 정리해봤어용~
7
|
| 3669 | |
| 29953 | |
| 15605 | |
| 15604 |
Mobile
UITableViewCell ,선택 안되게 하려면
|
| 15602 |
Mobile
[IOS] 아이폰에서 콤보박스
1
|
| 15601 | |
| 15600 |
Mobile
[IOS] UIWebView 자동 넓이 변경
|
| 3666 | |
| 3663 | |
| 15596 |
JavaScript
어머나?:;죄송해요
3
|
| 29952 | |
| 3662 | |
| 15592 |
PHP
반복문 풀이좀요
3
|
| 3655 | |
| 29944 |
HTML
CSS 속성 적용의 우선 순위
7
|
| 3648 | |
| 15591 |
JavaScript
간단한 WYSIWYG 에디터 만들기 예제
|
| 15589 |
JavaScript
구글 맵에서 Lat, Long을 구해서 여분 필드에 넣기
1
|
| 29937 |
HTML
ㅋㅋㅋ죄송합니다;;;
6
|
| 3644 | |
| 3641 | |
| 15586 |
Linux
특정아이피 차단해보기
2
|
| 15585 | |
| 29936 |
HTML
연습 TABLE vs DIV
|
| 15583 | |
| 15578 | |
| 15575 | |
| 15572 |
JavaScript
크롬에서 네비게이션메뉴 display:none 가 구현이 안되네요..;
2
|
| 15567 | |
| 15563 |
node.js
Facebook Group - Node.js Korea
3
|
| 24338 | |
| 15560 | |
| 15556 | |
| 26168 | |
| 29935 | |
| 15552 | |
| 3626 | |
| 3617 | |
| 3605 | |
| 3596 | |
| 15549 | |
| 15547 | |
| 15546 |
Linux
우분투 하드디스크의 uuid 확인하기
|
| 29933 | |
| 26167 | |
| 26166 | |
| 26165 | |
| 26164 | |
| 26163 | |
| 26161 | |
| 26160 | |
| 26152 |
견적서
홈페이지제작견적서
7
|
| 26149 |
견적서
홈페이지견적서
2
|
| 26148 | |
| 26147 | |
| 26146 | |
| 26145 | |
| 26141 |
기획서
작업일정표
3
|
| 26138 | |
| 26134 | |
| 15539 |
JavaScript
구글 맵에 멀티플 마커
6
|
| 3590 | |
| 29931 | |
| 3583 | |
| 3581 | |
| 3578 | |
| 15537 |
JavaScript
aLavaLamp 입니다. [수정완료]
1
|
| 15535 | |
| 29926 | |
| 15524 |
PHP
for 구문 응용
10
|
| 29920 | |
| 3560 | |
| 15521 |
JavaScript
카테고리 보이기 숨기기
2
|
| 3557 | |
| 29919 | |
| 15517 |
JavaScript
고수님들 도와주세요 ㅠㅠ
3
|
| 29914 | |
| 15506 |
JavaScript
고수님들 도와주십시오.
10
|
| 29910 | |
| 29909 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기