묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
include에서 사용한 변수의 변수값에 게시판 주소 대입하는 문제
2003.10.08 19:02
메뉴 버튼을 눌렀을 때,
표의 두 셀에 submenu_id라는 변수와 id라는 변수를 사용하여
각각 include를 사용해서 불러올려고 합니다.
아래에 태그에서 문제가 되는 부분을 좀 지적해 주시면 감사하겠습니다.
게시판의 주소가 변수에 변수값을 넣어주는 꼴이라 이중으로 되는 것 같긴한데,
어떻게 해야할지 잘 모르겠습니다.
게시판은 화이트보드이구요. 주소는 상대경로를 썼습니다.(절대경로를 써도 안됐습니다.)
<a href="main.php?submenu_id=board.html&id=white/board/list.php?data=Music"></a>
표의 두 셀에 submenu_id라는 변수와 id라는 변수를 사용하여
각각 include를 사용해서 불러올려고 합니다.
아래에 태그에서 문제가 되는 부분을 좀 지적해 주시면 감사하겠습니다.
게시판의 주소가 변수에 변수값을 넣어주는 꼴이라 이중으로 되는 것 같긴한데,
어떻게 해야할지 잘 모르겠습니다.
게시판은 화이트보드이구요. 주소는 상대경로를 썼습니다.(절대경로를 써도 안됐습니다.)
<a href="main.php?submenu_id=board.html&id=white/board/list.php?data=Music"></a>
댓글 10
-
[: 넬 :]
2003.10.08 19:23
-
[: 넬 :]
2003.10.08 19:26
<?
$submenu = "board.html";
$id = "white/board/list.php?data=Music";
$submenu = addslashes($submenu);
$id = addslashes($id);
?>
<a href="main.php?submenu_id=<?=$submenu?>&id=<?=$id?>"></a>
이거 말씀하시는건가.. - -;; -
[: 넬 :]
2003.10.08 19:30
위에껀.. 링크를 누르면 동일페이지에 2개아이프레임에 각각 다른거 띄우는건데요..
님은 두 셀이라고 하셔서..
후자는 main.php를 호출하면서 submenu_id랑 id변수를 같이 보내는거에요.
그니까.. main.php파일에서 addslashes한걸..
$submenu = stripslashes($submenu);
$id = stripslashes($id);
해주시구..
include $submenu;
include $id;
각각셀에 저렇게 해주셔야 할꺼에요.. -
이제우
2003.10.09 02:38
답변 너무 감사함니다.
헌데, 제가 너무 초보라 이해가 안되는 부분이 있어 다시 질문합니다.
<td width="532" height="20">
<? if(is_file("$id")) {include("$id");}
else {include("detail.html");}
?>
</td>
<td width="205" height="20">
<? if(is_file("$submenu_id")) {include("$submenu_id");}
else {include("submenu_main.html");}
?>
</td>
위에서 처럼 노프레임 페이지에 각각 include를 쓴 것이구요. 이 부분은 수정할 필요가 없다고 저는 생각합니다.
제가 원하는 것은 첫번째 코멘트에서 링크해 주신 걸 예로 들면,
저 링크를 클릭할 때, zboard.php를 호출하면서 id, page, sn1 등등의 변수를 보내는 게 맞죠?
여기서 제가 막히는 부분을 정리하자면,
변수를 보낼 때 단순한 파일명이나 상수 같은 것은 되는 것 같은데, 제가 사용한 것 처럼
또다른 php파일을 호출하는 경로를 변수로 보내는 방법을 잘 모르겠다는 것입니다.
그리고 답변 해주신 내용 중에서
<?
$submenu = "board.html";
$id = "white/board/list.php?data=Music";
$submenu = addslashes($submenu);
$id = addslashes($id);
?>
이 부분은 어디에 넣어줘야 하는지 잘 모르겠구요.
그리고 addslashes 같은 함수를 사용해야 하는 이유도 설명 부탁드릴께요.
그리고 또,
또다른 링크마다 같은 변수에 다른 값들을 보내야 한다면,
addslashes가 있는 저 부분을 매번 넣어줘야 하는 건가요?
제가 아는 게 너무 없어서, 질문이 무지 답답하네요.
죄송합니다. -
[: 넬 :]
2003.10.09 03:01
addslashes 해준건요..
변수에 특수문자가있는데 그걸 escape시켜서 ..
%2F 이런문자로 바꾸어서 변수를 보내는거에요.
제가 위에다가 addslashes로 이스캐이프시킨 변수를
stripslashes로 원래대로 되돌려 놓는다구 했는데..
안하셔두 되요.. 스트립슬래시쉬스는 안하셔두되구..
에드슬래쉬스로 특수문자(/나?이런거)를 이스케이프시켜주신후..
문서를 호출하시면 제대로 변수가 보내져요~
어디에 넣는지는..
<a href="main.php?submenu_id=<?=$submenu?>&id=<?=$id?>"></a>
이거 보다 윗쪽 아무데나 넣어주시면되요.
링크마다 변수에 다른값을 보내셔야한다면..
제가 이해한게 맞다면..
<a href="main.php?submenu_id=<?=$submenu?>&id=<?=$id?>"></a>
호출하구
<a href="main.php?submenu_id=<?=$submenu?>&id=<?=$id?>"></a>
또 호출하는데.. 두번째는 변수에 다른내용이 있어야 한다는 건가요?
그럼..
<a href="main.php?submenu_id=<?=$submenu?>&id=<?=$id?>"></a>
호출하구..
이렇게 또 변수에 다른값을 넣으시면 되지여~
<?
$submenu = "board.html";
$id = "white/board/list.php?data=Music";
$submenu = addslashes($submenu);
$id = addslashes($id);
?>
<a href="main.php?submenu_id=<?=$submenu?>&id=<?=$id?>"></a> -
이제우
2003.10.09 03:16
우와~ 이렇게 빨리 답변을 주실 줄이야... T.T
너무 감사합니다.
지금 한번 해보고 올께요... ^^ -
이제우
2003.10.09 03:42
버튼의 하이퍼링크가 아래처럼 인식되긴 합니다.
http://engine.chungbuk.ac.kr/~11009/main.php?submenu_id=board.php&id=white/board/list.php?data=Music
board.php는 잘 불러와 지는데, white/board/list.php?data=Music 이 게시판이 안불러와 지내요.
하이퍼링크가 위 처럼 되어있으면 정상적으로 불러와 지는게 맞는 건가요?
늦은 시간에 정말 감사하고, 죄송하고... 그렇네요 ^^ -
[: 넬 :]
2003.10.09 11:30
인크루드는 변수있는주소는 인크루드가 안된답니다~
board.php는 변수가 뒤에 없는데
data=music이라는 변수가 붙은건 인크루드 못해요~
그래서 제로보드처럼.. white/board/list.php?data=Music 이 게시판 자체에다가
상단과 하단 헤더, 푸터 파일을 만들어줘서 인크루드 시켜줘야합니다.. -
[: 넬 :]
2003.10.09 11:34
셀속에 아이프레임 width=100%로 해서 넣으셔서.. 아이프레임에 게시판 뜨게 하시는것두.. - -; -
이제우
2003.10.09 12:26
생각했던 것보다 복잡하고 어려운 것 같네요. ^^;;
셀에 아이프레임을 넣으면 셀에 스크롤바가 생겨서 사용 안한 것이구요.
지금은 이상하게 변수있는 주소가 인클루드 되거든요? 어제는 분명 안됐던거 같은데 말이죠...
근데 문제가 또 있는데... 인클루드 된 게시판에서 게시판 목록보기를 하면 기본틀이 없어지고 게시판이 전체화면으로 새로 뜹니다. ㅡ.ㅡ;;
그래서 님 말씀하신대로, 헤더랑 푸터를 수정해서 게시판 자체를 기본틀로 사용해야할 것 같네요... ^^;;;(너무 어려울 것 같아요... 흑흑..)
답변 너무나 감사드리구요.
아무래도 php랑 게시판 구조를 자세히 공부하고 작업해야할 것 같네요.
php 역시 만만하게 볼 것이 못되는군요. ^^;;
그럼 수고하세요~
이거여..