회원만 투표가능한 방법 다시 질문
3.35버전 현재의 투표방식은 접속자의 ip를 기준으로 투표여부를 확인합니다.
이걸 회원만 투표가능한 방법으로 변경하고자 합니다.
해피아이님께서 아래 방법을 가르쳐 주셨는데.......
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&page=2&wr_id=21041
이 방법 역시 회원이 투표를 하고 다른 컴퓨터에서 투표 결과를 확인하려면 다시 투표를 해야 합니다.
예전에는 됐던것 같은데(3.26 이전 버전) 3.26버전으로 해보니 비회원도 투표가 가능하네요.
아마도 아래 링크에서 제가 올렸던 질문은 제 오해가 있었던것 같습니다.
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&sselect=wr_subject&stext=%C5%F5%C7%A5&soperator=1&page=1&wr_id=18396
업그레이드를 하면 스킨 디렉토리는 안하기 때문에 사실 제가 알고 있는 회원만 가능한 투표는 버전이 얼마인지는 모릅니다.
자료실에서 업그레이드된 내용을 확인했는데 투표관련 내용은 언급된걸 못 봤습니다.
제가 생각하는 방법은,
투표 확인여부를 ip가 아닌 회원아이디로 하면 가능할것 같은데 제 능력 밖의 문제입니다.
고수님들의 한수 지도를 부탁드립니다.
http://hyusig.net/bbs
테스트 아이디/비번 : test/test, gnu/gnu
이걸 회원만 투표가능한 방법으로 변경하고자 합니다.
해피아이님께서 아래 방법을 가르쳐 주셨는데.......
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&page=2&wr_id=21041
이 방법 역시 회원이 투표를 하고 다른 컴퓨터에서 투표 결과를 확인하려면 다시 투표를 해야 합니다.
예전에는 됐던것 같은데(3.26 이전 버전) 3.26버전으로 해보니 비회원도 투표가 가능하네요.
아마도 아래 링크에서 제가 올렸던 질문은 제 오해가 있었던것 같습니다.
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&sselect=wr_subject&stext=%C5%F5%C7%A5&soperator=1&page=1&wr_id=18396
업그레이드를 하면 스킨 디렉토리는 안하기 때문에 사실 제가 알고 있는 회원만 가능한 투표는 버전이 얼마인지는 모릅니다.
자료실에서 업그레이드된 내용을 확인했는데 투표관련 내용은 언급된걸 못 봤습니다.
제가 생각하는 방법은,
투표 확인여부를 ip가 아닌 회원아이디로 하면 가능할것 같은데 제 능력 밖의 문제입니다.
고수님들의 한수 지도를 부탁드립니다.
http://hyusig.net/bbs
테스트 아이디/비번 : test/test, gnu/gnu
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 6개
이렇게 하면 회원만 투표하기는 됩니다.
하지만 이 방법 역시 회원이 투표를 하고 다른 컴퓨터에서 투표 결과를 확인하려면 다시 투표를 해야 합니다.
이게 문제입니다. ㅠ.ㅠ
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
$vo = sql_fetch(" select * from $cfg[table_vote] where vo_id = '$_POST[vo_id]' ");
if (!$vo[0]) {
alert("vo_id 값이 제대로 넘어오지 않았습니다.");
}
if( $member[mb_level] < "2"){
gotourl("./?doc=bbs/voteresult.php&vo_id=$vo_id");
}
else {
// 3.27 수정
// 세션에 없고 쿠키에 없을 경우만 업데이트
if ($HTTP_SESSION_VARS["ss_vo_id"] != $vo_id && $HTTP_COOKIE_VARS["ck_vo_id"] != $vo_id) {
$sql = " update $cfg[table_vote]
set vo_cnt{$gb_vote} = vo_cnt{$gb_vote} + 1
where vo_id = '$vo_id' ";
sql_query($sql);
}
// 3.09 추가
session_register("ss_vo_id");
$ss_vo_id = $HTTP_SESSION_VARS["ss_vo_id"] = $vo_id;
setcookie("ck_vo_id", $vo_id, time() + 86400*15, $default[de_cookie_dir], $default[de_cookie_domain]);
gotourl("./?doc=bbs/voteresult.php&vo_id=$vo_id");
}
?>
이런식으로 해더니만 회원들만 투표할수 있더라고요 ^_^
근데 안되네요. ㅠ.ㅠ
$vo = sql_fetch(" select * from $cfg[table_vote] where vo_id = '$vo_id' ");
if (!$vo[0]) {
alert("vo_id 값이 제대로 넘어오지 않았습니다.");
if( $member[mb_level] < "2"){
alert("비회원은 투표에 참여할수 없습니다.");
}
}