index.php에서 다른 php 파일로 전환에 대해 조언 부탁드립니다.
본문
g5 폴더에 그누보드5가 설치된 상태입니다.
g5/theme/basic/mobile/index.php 가 모바일 페이지 메인화면입니다.
모바일 메인(index.php)에서 링크(버튼)를 누르면,
메인 화면(index.php)과 같은 구성인데 내용만 바뀌게 하려고 합니다.
index.php를 다운받아서 index2.php로 이름을 바꾸어 같은 위치에 업로드했습니다.
그리고 index.php에서 버튼을 하나 만들어서
링크를 ../../../../g5/theme/basic/mobile/index2.php 로 하였습니다.
index.php에 접속해서 버튼(링크)을 누르면 index2.php 화면으로 전환되어야 정상적인 것 같은데...
그냥 흰색 빈 화면만 뜨는 상태입니다.
이렇게 링크를 연결하면 안 되는 것인가요?
답변 4
mobile/index2.php 상단을 이렇게 수정하세요
<?php
include_once("_common.php"); //<===추가
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
그리고 링크는 다음처럼 만드세요( 경로가 ../../../../g5/theme <==이것이 아닙니다)
<a href="./theme/<?php echo $config['cf_theme'];?>/mobile/index2.php">mobile index2 <==</a>
theme/basic/mobile/index.php
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(G5_COMMUNITY_USE === false) {
include_once(G5_THEME_MSHOP_PATH.'/index.php');
return;
}
$index = isset($_REQUEST['index']) ? $_REQUEST['index'] : '';
if ($index == 'index2') {
include_once(G5_THEME_MOBILE_PATH.'/index2.php');
return;
}
include_once(G5_THEME_MOBILE_PATH.'/head.php');
?>
<!-- 메인화면 최신글 시작 -->
<?php
// 최신글
$sql = " select bo_table
from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
where a.bo_device <> 'pc' ";
if(!$is_admin) {
$sql .= " and a.bo_use_cert = '' ";
}
$sql .= " order by b.gr_order, a.bo_order ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.
// 사용방법
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest('theme/basic', $row['bo_table'], 12, 25);
}
?>
<!-- 메인화면 최신글 끝 -->
<a href="?index=index2">index2</a>
<?php
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
theme/basic/mobile/index2.php
index2
g5/theme/basic/mobile/index2.php 여기 페이지가 아니라
모바일 경로는 g5/mobile/index2.php 로 되어야 하는데 여기에서 테마의 경로의 파일을 g5/theme/basic/mobile/index2.php 페이지로 연결되도록 처리되어야 하는데
제대로 적용이 안되어서 에러가 발생되는 부분으로 보여집니다.
해당 g5/theme/basic/mobile/index2.php로는 개별페이지 접근이 불가하여 빈 페이지로 보여지는 겁니다.
개별페이지 접근 불가 때문에 그렇습니다.
// if (!defined('_GNUBOARD_')) exit; 이 부분을 주석처리 하세요.