설문조사 2개 이상 사용시 버그가 있습니다.
관련링크
본문
설문조사 2개 이상 사용시 버그가 있습니다.
그누보드 사용된 버전 : Version 5.5.8.3.1
그리고 그이전의 버전도 안됩니다.
아래 테스트 사이트 입니다.
https://wedgo1.cafe24.com/potal/serlmun.php
적용 소스 :
<?php echo poll('basic', 1); ?>
<?php echo poll('basic2', 2); ?>
** 에러 원인 -> 투표b의 체크항목을 클릭하면 상단의 투표a의 값에 체크가 됩니다.
버그일까요??
아니면 안되는 것일까요?
페이지 모든 소스 :
-------------------------------------------------------------------------
<?php
include_once('./_common.php');
?>
<?php include_once('./_head.php'); ?>
<p style="line-height:20px;"> </p>
<div class="row" style="line-height: 30px; padding:10px; text-align:center; margin-right: 2px; border-radius: 5px; background-color: #FFFFFF; box-shadow: 0px 0px 13px #C3C3C3;">
<div class="col-sm-12 col-xs-12 col-xs-12" style="text-align:left;">
<div style="line-height: 30px; font-size: 24px; padding: 10px; color: #000000; font-weight:bold; " >
<div>
<p style="margin-top: 15px;">설문조사 헤드</p>
</div>
</div>
</div>
</div>
상단10
<?php echo poll('basic', 1); ?>
상단20
<?php echo poll('basic2', 2); ?>
상단30
<?php include_once('./_tail.php'); ?>
--------------------------------------------------------------------
답변 3
라디오버튼 디자인 처리 때문에 그런 것 같네요.
복사한 스킨 poll.skin.php 파일에서 여기 id 값을 다른 이름으로 변경하세요.
<input type="radio" name="gb_poll" value="<?php echo $i ?>" id="gb_poll_<?php echo $i ?>">
<label for="gb_poll_<?php echo $i ?>">
예를 들어 이렇게.. 두 군데 있습니다.
<input type="radio" name="gb_poll" value="<?php echo $i ?>" id="gb_poll2_<?php echo $i ?>">
<label for="gb_poll2_<?php echo $i ?>">
poll.skin.php 자체를 모두 다 수정하는게 좋구요..
앞으로 계속 사용하시고 계속 여러개를 사용한다고 가정할때
lib/poll.lib.php 를 lib/newpoll.lib.php 하나 추가 하셔서 그대로 소스 카피 하시고
함수명을 Newpoll 이라고 셋팅 한 뒤에 맨 뒤에
기존 function poll($skin_dir='basic', $po_id=false)
변경 function poll($skin_dir='basic', $po_id=false, $nm=1)
로 함수 변경 하시고 하단에 include_once ($poll_skin_path.'/poll.skin.php'); 를 newpoll.skin.php 로 변경
후 실제 스킨에서 newpoll.skin.php 생성 후 기존 poll.skin.php 카피 완료 후
/head.php 에 include_once(G5_LIB_PATH.'/poll.lib.php'); 밑에 include_once(G5_LIB_PATH.'/newpoll.lib.php'); 삽입
호출하는 명령은
기존 <?php echo poll('basic', 1); ?> 에서
변경
<?php echo Newpoll('basic1', 1, '1'); ?>
<?php echo Newpoll('basic2', 1, '2'); ?>
<?php echo Newpoll('basic3', 1, '3'); ?>
처럼 뒤에 값을 추가 하고 그 값이 적용되어 읽혀지는 skin 안에 newpoll.skin.php 에서
<input type="radio" name="gb_poll" value="<?php echo $i ?>" id="gb_poll<?=$nm?>_<?php echo $i ?>">
<label for="gb_poll<?=$nm?>_<?php echo $i ?>">
이러게 처리 하면 되지 않을까 생각해봅니다.
가상 시뮬레이션입니다.
안녕하세요. 답변주신 코드로 해보아도 안되어서 문의글에 남겨 두었습니다.
확인 한번 부탁드립니다.
신경써 주셔서 감사합니다.