비회원 글쓰기 자동등록방지 이미지 출력이 안됩니다;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

비회원 글쓰기 자동등록방지 이미지 출력이 안됩니다;; 정보

비회원 글쓰기 자동등록방지 이미지 출력이 안됩니다;;

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

이미지가 엑박 나는데요;;

view_commemnt.skin.php에 보면

 <mg id='kcaptcha_image' />
            <input title="왼쪽의 글자를 입력하세요." type="input" name="wr_key" size="10" itemname="자동등록방지" required class=ed>

이쪽 부분이거 같은데  id='kcaptcha_image' 값을 못 가져 오는거 같습니다.

<script type="text/javascript" src="<?=$g4['path']?>/js/jquery-1.4.2.min.js"></script>도 있고

bbs 폴더에 kcaptcha.php , kcaptcha_config.php, kcaptcha_image.php, kcaptcha_result.php, kcaptcha_session.php 파일도 있는데;; 이미지가 안나오네요;; 고수님들 조언 좀 부탁 드립니다.

댓글 전체

두가지를 확인해 보세요.

그누설치 폴더에 다음과 같이 넣고 test.php 나 아니면 원하시는 이름을 넣고 저장해 주시고 웹에서 실행해 보세요.

<?
phpinfo()
?>

GD 라는 항목이 있는지 확인해보시고 없으면 설치하셔야 됩니다.

그리고 그누 설치 폴더 아래 /extend/ 폴더를 비워보세요.
GD가 설치 및 enabled의 경우,
1. 기존의 소스를 모두 백업 후, 최신 그누보드 kcaptcha의 php, js, 스킨 등을 적용한다.
2. 보드의 data 폴더와 그 아래의 session 폴더 등의 권한이 707로 설정되어 있는 지 확인하여 본다.
  (세션에 자동등록방지 문자 생성)
3. 보드의 bbs 폴더의 fonts 폴더의 권한이 755 이상으로 설정되어 있는 지 확인하여 본다.
  (자동등록방지 문자를 이미지에서 추출)
4. http://도메인/보드/bbs/kcaptcha_image.php?t=1354519535686 를 수행했을 때,
  이미지가 아닌 문자가 표시되면, 표시된 <script>등의 헤더부분을 주석처리하여 본다.
5. 3번을 수행하였을 때, 직사각형에 백그라운드 색은 나타나는데,
  글쓰기의 kcaptcha_image 부분에 이미지가 제대로 표시되지 않으면,
  (1) jquery 스크립트 오류의 경우, include를 수행한 jquery 스크립트가 중복오류가 발생된 것인데,
      include를 모두 include_once로 수정하고,
      테일부분에 존재하는 "<script"로 시작하는 jquery 스크립트 부분을 주석처리하여 본다.
  (2) 기타 다른 스크립트 오류에 의한 영향이므로 헤더, 바디, 테일의 각 부분을 적당히 잘라서
      테스트 해보고 추적하여 찾아내 본다.

보드 폴더아래의 extend 폴더를 확인하는 이유는 해당 폴더의 php는 무조건 include 되므로,
오류가 발생하는 원인이 될 수 있으므로, 4번의 (2)번처럼, 영향을 줄 수 있는 요인을 제거하여
추적하여 찾아내기 위함입니다.

항상, 오류를 수정하기 위해, 먼저 기존의 모든 소스를 백업 후에 수정하시고,
오류 수정 후에 백업해 둔 소스를 하나씩 적용하여 완성하시기 바랍니다.

지금까지 저의 경험담을 정리하여 댓글로 달아봅니다.
고맙습니다. ^^
저도 방금 엑박문제 해결 하고 왔습니다.
원인을 설명드리자면 이미지를 생성할때 이미지 외의 내용이 write 되었을때 엑박이 뜨더군요.
그래서 그누질답을 찾아 보니 어떤분은 dbconfig.php 에 공백이 들어가있었다고 하더군요.
그런데 저는 해당 파일에 공백이 없었습니다.
KCAPTCHA와 dbconfig가 왠 상관 일까 하고 생각해보니
KCAPTACH 파일에서 common.php 를 인클루드 하는데 common.php  파일 안에 dbconfig.php 가 있습니다.
따라서 인클루드 되는 모든 파일에 공백이 없는지 확인해봐야 하는 것이었습니다.
여기서 공백이라는 것은 php 코드 바깥쪽의 공백입니다. <?php ~~ 여기 안쪽의 공백은 상관 없구요 ?>'  여기 바깥쪽 공백이 문제입니다.  '
즉 common.php를 오픈 하시고 include 를 검색 하셔서 include 되는 파일들을 전부 확인 해보세요
php 코드 영역 밖의 공백을 모두 지워주세요.
대부분 라이브러리 파일들이기 때문에 공백이 필요 없는 파일들 일것으로 생각 됩니다.
저같은 경우는 common.lib.php 파일 맽끝에 공백이 있었구요, common.php 파일 맨끝에도 있었습니다.

그리고 저는 common.lib.php 랑, common.php 파일을 수정한 이력이 있었구요.

아마도 미리내 호스팅에서 웹FTP를 사용할때 업로드 되면서 자동으로 공백이 추가 되는게 아닌가 예상해봤습니다.

extend 폴더의 문제도 마찬가지 입니다.
 common.php 에서 extetnd 폴더 밑에 있는 모든 php 파일을 인클루드 하기 때문에 발생할 수 있습니다.

암튼 해결 되셨으면 하네요~
저도 이미지가 안떠서 '기쁨으로'님 써주신대로 하나하나 고쳐보다가 jquery 스크립트 오류 부분을 고치고 나니 제대로 나오네요 감사해요...
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT