웹호스팅에 업로드하면 Call to undefined function get_write_token() 에러가 떠요 채택완료
bitnami wamp를 설치해서 컴퓨터안에서 홈페이지 제작하다가, 모든 기능이 다 정상 작동해서
웹호스팅 이전할 때 방식으로 그누보드랑 db도 고도호스팅으로 다 옮겼거든요.
근데 다른건 다 문제없는데, 잘 작동하던 상담신청 폼이 옮기고 나서는 Call to undefined function get_write_token() 이라는 치명적인 에러가 뜨면서, 상담신청 폼 자체가 화면에 표시가 안되네요 ㅠㅠ
pc안에서는 잘 동작하는데, 왜 호스팅에 업로드하면 이런 에러가 뜨는지 도무지 이해가 안됩니다. ㅠㅠ
요게 그 문제의 폼입니다.
</p>
<p><form name="fwrite" method="post" action="/g5/bbs/write_update.php" onsubmit="return checkFrm(this);">
<input type="hidden" name="w" value="">
<input type="hidden" name="bo_table" value="counsel">
<input type="hidden" name="wr_id" value="">
<input type="hidden" name="sca" value="">
<input type="hidden" name="sfl" value="">
<input type="hidden" name="stx" value="">
<input type="hidden" name="spt" value="">
<input type="hidden" name="sst" value="">
<input type="hidden" name="sod" value="">
<input type="hidden" name="s" value="s">
<input type="hidden" name="wr_subject" value="상담신청">
<input type="hidden" name="wr_content" value="상담신청">
<input type="hidden" name="wr_1" value="">
<input type="hidden" name="token" value="<?php echo get_write_token($bo_table);?>">
<div class="input_wrap">
<input type="text" placeholder="이름" name="wr_name" required />
</div>
..... 중략
</form></p>
<p>
혹시 해결방법 아시는 분 있으면 도움 부탁드려요~~ ㅠㅠ
답변 2개
아---------- 일단 전에 한 ---------------- 답변 ------------- 철회합니다. ------------ 그누보드에선 제가 답변한 식의(경로변경등)의 문제가 생기지 않는군요. 경로 바꾸고 별짓 다해도 파일을 못찾는 일이 생기지 않는군요. --- 그래서 경로의 문제가 아닌것같고요. 다른 문젠거 같은데 현재 질문으론 저 함수가 없다밖엔 해석이 안됩니다.
인클루드 오류는 아니고... ... 문의주신 상황을 자세히 설명해주셔야 할 것 같습니다.
----
그리고
그누보드 bbs 폴더의 파일을 모두 열어서 보니
--
-- get_write_token() 함수를 쓰는 곳은 딱 한곳입니다.
--
//그누보드설치경로/bbs/write_token.php 이 파일입니다.
--
---- 제가 알아낸 것은 여기까지...
-- 아래는 그 파일의 내용입니다. - 파일 140개를 열어봤지만 아직 write_token.php 를 호출하는 곳은 못찾았습니다.
if(!$bo_table) die(json_encode(array('error'=>'게시판 정보가 올바르지 않습니다.', 'url'=>G5_URL)));
set_session('ss_write_'.$bo_table.'_token', '');
$token = get_write_token($bo_table);
die(json_encode(array('error'=>'', 'token'=>$token, 'url'=>''))); ?>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
에러메시지가... 다음과 같잖아요.
Call to undefined function get_write_token()
get_write_token() 이라는 정의되지 않은 함수를 쓰신 것이니... 이 함수가 어디서 나오는지 찾아보세요..
없는 함수를 쓰신것이니까요...
아마도 소스를 통째로 복사하셨을테니 없진 않을꺼에요.
그렇다면 include 경로가 문제겠죠....
그 페이지에서 찾아서 인클루드 경로가 틀린 지점을 찾아 고치시면 될 겁니다.
답변에 대한 댓글 2개
Head부분에 <script src="/g5/js/common.js?ver=171222"></script>라고 적어 두었거든요~
그리고 common.lib.php는 action="/g5/bbs/write_update.php" 이부분에서 로드하는거 아닐까요? 사실 정확히는 잘 모르고 있습니다.
문제는 pc에서 돌리는 bitnami wamp서버에서는 작동이 잘 된다는겁니다 ㅠㅠ
예를 들어 pc 서버에서는
http://localhost/index.php?bo_table=tablename 이렇게 쓰셨다면
이전된 서버에서는
http://domain.com/home/index.php?bo_table=tablename 이런식으로
경로가 바뀐것 아닌가요?
통째로 파일을 옮겼으면 빠진것이 없을텐데....
무언가 없다고 나온다면...
그때는 경로가 틀린것 밖에 없거든요.
어떤상황인지 알려주시고...
위의 저 소스가 나오는 파일명도 알려주세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
일단 문제 해결은 php문법이 아니라 common.js 에 있는 함수를 이용하는 식으로 javascript 문법으로 토큰 불러와서 해결했습니다 ^^