팁텍 투표기능 회원접속아이디 체크기능 추가
페이지 정보
본문
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");
?>
//// 여기 까지 /////
<출처> sir 혜심님
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");
?>
//// 여기 까지 /////
<출처> sir 혜심님
댓글목록
까만도둑님의 댓글
까만도둑쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일
헛~~~! 감사합니다. ^^
적용을 해보니까......
전에는 아래 소스가 투표여부를 확인했는데, 위 소스를 아래 소스를 적용한 것처럼 하려면 어떻게 해야하나요?
<?
// 투표를 하지 않았다면....
$sql = " select max(vo_id) from $cfg[table_vote] ";
$row = sql_fetch($sql);
if ($HTTP_COOKIE_VARS[ck_vo_id] != $row[0]) {
alert("투표를 하셔야 접근할 수 있습니다. 로그인을 하시면 투표를 할 수 있습니다.");
}
?>
염치 없지만 여쭙니다. ^^