투표기능 회원접속아이디 체크기능 추가 정보
그누호환 투표기능 회원접속아이디 체크기능 추가본문
1. 접속아이피를 체크안하고 회원접속아이디를 체크합니다.
2. 투표시 포인트도 주게 했습니다. (점수는 소스 수정하세요)
3. 비회원은 창 닫힙니다. 즉, 회원만 가능합니다.
4. 이미 투표했으면 결과창으로 자동으로 넘어갑니다.
5. 뭔가를 보고 짜깁기 했어요 ^^ 어쨋든 바라던 바는 이루어 졌습니다.
///////////////////// voteupdate.php 전체 파일입니다. ///////////////
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
if (!$member[mb_id]) {
echo "<script> window.close(); </script>";
exit;
}
$vo = sql_fetch(" select * from $cfg[table_vote] where vo_id = '$_POST[vo_id]' ");
if (!$vo[0]) {
alert("vo_id 값이 제대로 넘어오지 않았습니다.");
}
$point_table = "$cfg[write_table_prefix]_point_vote";
// 투표여부 테이블 생성
$sql = " CREATE TABLE `$point_table` (
`vo_id1` INT NOT NULL ,
`mb_id` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `vo_id1` , `mb_id` )
) ";
@mysql_query($sql);
// 이미 투표한 것인지 확인하기?
$sql = " select count(*) from $point_table
where vo_id1 = '$vo_id'
and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if (!$row[0]) { // 투표 안했으면 투표하고 // 포인트도 주기
// 3.27 수정
// 투표하지 않은 경우만 업데이트
if ($member[mb_id]) {
$sql = " update $cfg[table_vote]
set vo_cnt{$gb_vote} = vo_cnt{$gb_vote} + 1
where vo_id = '$vo_id' ";
sql_query($sql);
insert_point($member[mb_id], (1)*500, "번호($vo_id) 투표하기"); // 포인트주기
// 투표했으면 기록하기
$sql = " insert $point_table
set vo_id1 = '$vo_id',
mb_id = '$member[mb_id]' ";
sql_query($sql);
}
}
// 세션 대체함
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
session_register($ss_name);
$$ss_name = $_SESSION[$ss_name] = TRUE;
gotourl("./?doc=bbs/voteresult.php&vo_id=$vo_id");
?>
//// 여기 까지 /////
2. 투표시 포인트도 주게 했습니다. (점수는 소스 수정하세요)
3. 비회원은 창 닫힙니다. 즉, 회원만 가능합니다.
4. 이미 투표했으면 결과창으로 자동으로 넘어갑니다.
5. 뭔가를 보고 짜깁기 했어요 ^^ 어쨋든 바라던 바는 이루어 졌습니다.
///////////////////// voteupdate.php 전체 파일입니다. ///////////////
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
if (!$member[mb_id]) {
echo "<script> window.close(); </script>";
exit;
}
$vo = sql_fetch(" select * from $cfg[table_vote] where vo_id = '$_POST[vo_id]' ");
if (!$vo[0]) {
alert("vo_id 값이 제대로 넘어오지 않았습니다.");
}
$point_table = "$cfg[write_table_prefix]_point_vote";
// 투표여부 테이블 생성
$sql = " CREATE TABLE `$point_table` (
`vo_id1` INT NOT NULL ,
`mb_id` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `vo_id1` , `mb_id` )
) ";
@mysql_query($sql);
// 이미 투표한 것인지 확인하기?
$sql = " select count(*) from $point_table
where vo_id1 = '$vo_id'
and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if (!$row[0]) { // 투표 안했으면 투표하고 // 포인트도 주기
// 3.27 수정
// 투표하지 않은 경우만 업데이트
if ($member[mb_id]) {
$sql = " update $cfg[table_vote]
set vo_cnt{$gb_vote} = vo_cnt{$gb_vote} + 1
where vo_id = '$vo_id' ";
sql_query($sql);
insert_point($member[mb_id], (1)*500, "번호($vo_id) 투표하기"); // 포인트주기
// 투표했으면 기록하기
$sql = " insert $point_table
set vo_id1 = '$vo_id',
mb_id = '$member[mb_id]' ";
sql_query($sql);
}
}
// 세션 대체함
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
session_register($ss_name);
$$ss_name = $_SESSION[$ss_name] = TRUE;
gotourl("./?doc=bbs/voteresult.php&vo_id=$vo_id");
?>
//// 여기 까지 /////
추천
0
0
댓글 전체
굿잡입니다. 감사합니다.
감사합니다.
절 위한 팁이군요. ^^
절 위한 팁이군요. ^^
오하라..정말 좋은 TIP 이군요..^^*..
저도 적용해봐야 겠내욤..^^*
저도 적용해봐야 겠내욤..^^*
정말 수고하셨습니다. 짝짝짝~*
정말 필요한 내용입니다.
이 내용을 [까만도둑]님께서 아신다면...
정말 정말 좋아하실 것 같습니다.
정말 필요한 내용입니다.
이 내용을 [까만도둑]님께서 아신다면...
정말 정말 좋아하실 것 같습니다.
투표기능
감사합니다. ^-^
투표한번만 하기