투표하면 자동댓글달기... > 그누4 질문답변

그누4 질문답변

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

투표하면 자동댓글달기... 정보

투표하면 자동댓글달기...

본문

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

오류 주소 :

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

오류 주소 :

http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=74733&sca=&sfl=wr_subject%7C%7Cwr_content&stx=alik&sop=and

위와 같은 alik님의 게시판을 사용합니다.

그런데 설문에 대한 답변이 필요한데, 사람들이 그 설문조차도 안하는 경우가 있었습니다.
그래서 원하는 항목을 선택하고 투표하기 버튼을 눌렀을 때, 투표 뿐만 아니라 리플도 자동으로 달리게 할 수 없을까요?
위 질문에 대한 alik님의 답변은 그누보드가 아닌 제로보드의 답변은 다음과 같습니다.

poll.php 의 전체 소스입니다. 덮어씌우시면 될겁니다.
(직접 테스트해봤습니다. 잘 됩니다. ^^)

나중에 '아무개'님이 투표에 참여하셨습니다.... 이부분을 수정하신다면 ' 나 " 같은 따옴표는 왠만하면 쓰지 말아주세요...

이하 소스 ------------------


<?PHP
 if (!$mode) $mode = $_POST['mode'];
 if (!$no) $no = $_POST['no'];
 if (!$id) $id = $_POST['id'];
 $parent = 0 - $no;
 $do_poll = $_POST['do_poll']; //투표작성 여부
 $pollReset = $_POST['pollReset']; //투표 새로작성 여부
 $pollAnswers = $_POST['pollAnswers'];
 $pollOptions = $_POST['pollOptions'];
 if ($_POST['multiPoll'] == 1) $password = $_POST['multiPollNo']; else $password = "noMultiPoll"; //다중투표 허용 & 갯수
 if ($_POST['PollTime'] < 1) $_POST['PollTime'] = 30;
 $reg_date = strtotime("+".$_POST['PollTime']." days"); //투표 기간
 $REMOTE_ADDR = $_POST['allowRePoll']; //재투표 허용 여부
 //$REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; //아이피
 $re_poll = $_POST['re_poll']; //재투표 여부
 
 //글쓰기 관련
 //수정
 if($mode == "modify" && $no) {
  $pollCnt = 0;
  if ($do_poll != "1") {
  @mysql_query("delete from $t_comment"."_$id where parent='$parent'");
  }
  if ($pollReset == "1") {
  @mysql_query("delete from $t_comment"."_$id where parent='$parent'");
 
  $name = "pollOption";
  for ($i=0; $i<count($pollOptions); $i++) {
    if ($pollOptions[$i] != "") {
    $memo = del_html($pollOptions[$i]);
    //투표항목 입력
    @mysql_query("insert into $t_comment"."_$id (parent,ismember,name,password,memo,reg_date,ip) values ('$parent','$member[no]','$name','$password','$memo','$reg_date','$REMOTE_ADDR')");
    $pollCnt ++;
    }
  }
 
  if($pollCnt == 0) {
    $do_poll = '';
  }
  } else {
  @mysql_query(" update $t_comment"."_$id set ip='$REMOTE_ADDR', reg_date='$reg_date', password='$password' where parent='$parent' and name='pollOption' ");
  }
 
  @mysql_query("update $t_board"."_$id set poll='$do_poll' where no='$no'");
 
  //답변 or 새글
 } elseif(($mode == "reply" || $mode == "write") && $do_poll == "1") {
 
  $pollCnt = 0;
  $name = "pollOption";
  for ($i=0; $i<count($pollOptions); $i++) {
  if ($pollOptions[$i] != "") {
    $memo = del_html($pollOptions[$i]);
    //투표항목 입력
    @mysql_query("insert into $t_comment"."_$id (parent,ismember,name,password,memo,reg_date,ip) values ('$parent','$member[no]','$name','$password','$memo','$reg_date','$REMOTE_ADDR')");
    $pollCnt ++;
  }
  }
 
  if($pollCnt == 0) {
  $do_poll = '';
  }
 
  @mysql_query("update $t_board"."_$id set poll='$do_poll' where no='$no'");
 
  //////투표관련
 } elseif($mode == "poll" && $no > 0 && $id != "") {
 
  include "lib.php"; // 라이브러리 함수 파일 인크루드
  if(!$connect) $connect=dbConn(); // DB 연결
  $member=member_info(); // 멤버정보 구하기
  $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; //아이피
 
  $pollChkTmp = @mysql_fetch_row(mysql_query("select no from $t_comment"."_$id where parent='$parent' and name='pollAnswer' and ((ismember='$member[no]' and password='$member[name]') or (ip='$REMOTE_ADDR')) limit 1"));
  $pollChk = $pollChkTmp[0];
 
  //중복투표 체크
  if ($pollChk && $re_poll != "1") {
  head();
  echo "<script>alert('이미 투표 하셨습니다');</script>";
  foot();
  exit;
  }
 
  if (count($pollAnswers) > 0) {
  $name = "pollAnswer";
  $reg_date = time();
  $password = $member['name'];
  for ($i=0; $i<count($pollAnswers); $i++) {
    if ($pollAnswers[$i] != "") {
    //투표결과 입력
    $memo = $pollAnswers[$i];
    @mysql_query("insert into $t_comment"."_$id (parent,ismember,name,password,memo,reg_date,ip) values ('$parent','$member[no]','$name','$password','$memo','$reg_date','$REMOTE_ADDR')");
    }
  }

  if($member[no]) {
    $name = addslashes($member[name]);
    $password = addslashes($member[password]);
  } else {
    $name = '방문객';
    $password = mt_rand();
  }
  $memo = addslashes("$name"."님이 설문에 참여하셨습니다!");
  @mysql_query("insert into $t_comment"."_$id (parent,ismember,name,password,memo,reg_date,ip) values ('$no','$member[no]','$name','$password','$memo','$reg_date','poll_msg')");
  $total=mysql_fetch_array(mysql_query("select count(*) from $t_comment"."_$id where parent='$no'"));
  @mysql_query("update $t_board"."_$id set total_comment='$total[0]' where no='$no'");

  } else {
  // 재투표!! [회원전용 기능]
  if ($re_poll == "1") {
    @mysql_query("delete from $t_comment"."_$id where parent='$parent' and name='pollAnswer' and ismember='$member[no]' and password='$member[name]'");
    @mysql_query("delete from $t_comment"."_$id where parent='$no' and name='$member[name]' and ismember='$member[no]' and password='$member[password]' and ip='poll_msg'");
    $total=mysql_fetch_array(mysql_query("select count(*) from $t_comment"."_$id where parent='$no'"));
    @mysql_query("update $t_board"."_$id set total_comment='$total[0]' where no='$no'");
  }
  }
  echo "<script>parent.location.replace(parent.document.location.href);</script>";
 }
?>

이렇게 하면 투표를 하게되면 자동으로 '아이디'님이 설문에 참여하셨습니다! 라고 나옵니다.
그런데 그누보드와 제로보드 코딩자체가 틀려 어떻게 해야 할지 모르겠습니다.

고수님들 한수 부탁드립니다.

댓글 전체

전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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