로그아웃 시 특정 게시판의 글 작성여부에 따라 메세지창 주기

로그아웃 시 특정 게시판의 글 작성여부에 따라 메세지창 주기

QA

로그아웃 시 특정 게시판의 글 작성여부에 따라 메세지창 주기

본문

 

botable=abc

id=korea

 

현재 로그인한 korea 가 로그아웃 할때 오늘 날짜로 abc 게시판에 작성한 글이 없다면

경고창이 떠서 로그아웃을 못하게 하려고 합니다. 경고창에는 "abc게시판에 글을 작성해주세요." [확인]

버튼을 클릭하면 abc 게시판으로 이동.

 

korea는 현재 로그인한 아이디여야 하기 때문에 변수처리 해야 할 것 같은데요.

이부분에 대한 구현은 어떤식으로 해야 할지 조언구합니다..

 

이 질문에 댓글 쓰기 :

답변 4

logout.php 열어 보면 

 

 

<?php
include_once('./_common.php');

if(function_exists('social_provider_logout')){
    social_provider_logout();
}

// 이호경님 제안 코드
session_unset(); // 모든 세션변수를 언레지스터 시켜줌
session_destroy(); // 세션해제함

// 자동로그인 해제 --------------------------------
set_cookie('ck_mb_id', '', 0);
set_cookie('ck_auto', '', 0);
// 자동로그인 해제 end --------------------------------

if ($url) {
    if ( substr($url, 0, 2) == '//' )
        $url = 'http:' . $url;

    $p = @parse_url(urldecode($url));
    /*
        // OpenRediect 취약점관련, PHP 5.3 이하버전에서는 parse_url 버그가 있음 ( Safflower 님 제보 ) 아래 url 예제
        // http://localhost/bbs/logout.php?url=http://sir.kr%23@/
    */
    if (preg_match('/^https?:\/\//i', $url) || $p['scheme'] || $p['host']) {
        alert('url에 도메인을 지정할 수 없습니다.', G5_URL);
    }

    if($url == 'shop')
        $link = G5_SHOP_URL;
    else
        $link = $url;
} else if ($bo_table) {
    $link = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
} else {
    $link = G5_URL;
}

goto_url($link);
?>
소스가 있어요 여기서 

<?php
include_once('./_common.php');

및 에다가 

게시판에 글이 있는 가 를 확인 하는 커리 를 돌리고 

그결 과값을 

조건문 if 문을 만들면됩니다

 

참고로 위 제글 을 보고 작업 을 할수없다면 

https://sir.kr/main/request/ 의뢰하세요

한 10만원 정도면 하실분이 넘처나요

 

 

logout.php 에서 조건 문을 설정 함 되죠

bbs/logout.php 에 

 

include_once('./_common.php');

//============================

$is_alert=($member[mb_id]=="korea")?1:0;
if($is_alert){
    $write_table=$g5['write_prefix']."abc";
    //오늘 원글 검색
    $sql="select count(*) as cnt from {$write_table} 
    where mb_id='".$member['mb_id']."'
    AND wr_is_comment='0' 
    AND wr_datetime > '".G5_TIME_YMD."'";
    $row=sql_fetch($sql) ; 
    if(!$row['cnt']){
        //글쓴게 없습니다.
        alert("abc게시판에 글을 작성해주세요", "/bbs/board.php?bo_table=abc");
    }
}

//==============================

팁 정말 감사합니다.
제가 그누보드 4를 쓰고 있어서 위에 g5 부분을 g4로 변경하여 삽입해보았으나,

select count(*) as cnt from g4_write_abc where mb_id='korea' AND wr_is_comment='0' AND wr_datetime > G4_TIME_YMD'
1045 : Access denied for user 'root'@'localhost' (using password: NO)
error file : /bbs/logout.php

위와 같은 에러메시지가 보입니다.
이것저것 수정해보고 있는데요. 혹시 보시게 되면 조언 부탁드립니다.
감사합니다~

제의견은

 

$member 변수를 확장해서 사용하는건 어떨까 합니다.

mb_1 , 2 정도를 활용해서

 

mb_1 은 특정게시판 bo_table id

mb_2 는 작성최종일

 

mb_1 이 없다면 대상이 아닌것으로 판단

mb_2 가 오늘이 아니면 작성하라는 alert 

mb_2 가 오늘이면 logout

 

이렇게 하면되지 않을까요?

 

아 물론 당연히 글 작성할때

mb_1 과 bo_table 이 같을때만  mb_2에 오늘일자를 기록하는건 있어야하구요

답변을 작성하시기 전에 로그인 해주세요.
전체 62
QA 내용 검색

회원로그인

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