테스트 사이트 - 개발 중인 베타 버전입니다

끝까지 간다 - 마지막회 채택완료

민쯩먼저깔게요 8년 전 조회 2,271

이미 조언을 받은 것인데 해결이 잘 안되어 부득이 다시 드립니다.

모바일 뷰페이지에서 wr_필드를 수정하는 코드를 적용하였는데요..

wr_필드에는 정상적으로 잘 저장됩니다.

그런데 write_update.tail.skin.php에 있는 코드는 실행이 안되어서요,,,(pc버전에서 이상없는 코드입니다)

원래 모바일 스킨의 _common.php에는 $g5_path = "../../..";  // common.php 의 상대 경로

이렇게 있었구요..

include_once('../../../../common.php'); 이렇게 바꾼 상황입니다. 원래의 경로로 하면 인식이 안되더라구요,,, 

이것 때문에 write_update.tail.skin.php이게 실행안되는 것일까요?

뷰페이지에서 실행하는 코드는 아래와  같습니다.

 

include_once "_common.php"; 

if($is_admin == 'super') { 

$write_table = $g5['write_prefix'].$_POST['bo_table']; 

sql_query("update $write_table set wr_8='$wr_8', wr_21 = '$wr_21', wr_25='$wr_25' where wr_id= '$wr_id' ");

sql_query($sql);

 

//exit;  

// 사용자 코드 실행 추가함

include_once($board_skin_path.'/write_update.skin.php');

include_once($board_skin_path.'/write_update.tail.skin.php');

?>  

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
8년 전

include_once($board_skin_path.'/write_update.tail.skin.php'); 

모바일에서 write_update.tail.skin.php 의 코드가 작동되지 않는 문제로 이해했습니다. 

1) 1차적으로는, 모바일에서 include 가 되기는 한 것인지 확인을 해볼 수 있을 듯 합니다.

write_update.tail.skin.php 안의 코드에.. 

echo "hello"; 

가 화면에 나오는지 등으로 확인해볼 수 있고,

2) 2차적으로는, include 되기는 했는데..

write_update.tail.skin.php 안의 코드가 모바일에서 기대했던 되로 작동하지 않는다면, 

해당파일안의 코드 중 특정 부분이, 모바일에서 동작하지 않는 것일 가능성이 크고,

언급한 include_once('../../../../common.php');  부분이 문제가 됐을 수도 있습니다.

만약에 그문제라면 주소창의 경로와 대비하여 경로체크를 하면 됩니다. ../ 은 한 단계 위 경로를 의미합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

민쯩먼저깔게요
8년 전
마르스님, 번번이 감사합니다.
알려주신대로 해보니
1)hellow가 화면에 나왔다가 사라집니다. 인크루드는 되는거 같습니다.
2)
./../
./../../
./../../../
./../../../../
해보았는데 ./../../../가 맞는거 같습니다.

그러면 코드가 모바일에서 작동안하는 것일 수 있겠습니다...
이렇게 되어 있는데 혹시 좀 봐주실 수 있으실련지..

if (!defined("_GNUBOARD_")) exit;
include_once(G5_PATH.'/alim/alim_config.php');
include_once(G5_PATH.'/alim/alim.lib.php');

//--------------- 관리자에게 알림 $wr_19 : 관리자 아이디, $wr_21: $write[wr_21] == '접수'

$recv_id = trim($wr_19); $income = trim($wr_21 == '접수');


if (array_key_exists($recv_id, $damArr)) $recv_mb_id = $damArr[$recv_id];
else{
$row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id = '$recv_id' and mb_leave_date='' and mb_intercept_date='' ");
if ($row[mb_id] ) $recv_mb_id = $row[mb_id];
}

if($recv_mb_id && $recv_mb_id != $member['mb_id'] && $income != trim($write['wr_21'] == '접수') ){


$me_memo = "접수가 있습니다";
$me_memo .=' (확인바랍니다)';

bt_writeAlim($recv_mb_id , G5_URL.'/bbs/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id, ''.$me_memo );

}
echo "hello";
마르스컴퍼니
8년 전
글쎄요...

눈으로만 봐서는 특별히 문제가 될만한 부분은 잘 보이지는 않습니다만..

하단의 bt_writeAlim() 부분이 모바일에서만 정상적으로 실행되지 않을 가능성이 있기는 할 것 같습니다.

모바일에서, (또는 크롬 브라우저 - 모바일 User Agent 선택 https://sir.kr/g5_tip/6436 )

echo "a";
bt_writeAlim(~);
echo "z;
exit;

식으로로 어느부분 코드까지 실행되는지..

확인하면서 문제되는 부분을 찾는게 좋지 않을까 싶습니다.

bt_writeAlim(~) 함수안에서도,

echo "c";
..
ecoh "d";
식으로 확인용 코드를 넣을 수 있습니다.
민쯩먼저깔게요
8년 전
친절한 설명 덕분에 개념을 이해하고 고쳤습니다~

write_update.skin.php에 엑셀업로드 하는 코드가 있었는데 그것이 문제였습니다.
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인